question

E. Gonenc avatar image
E. Gonenc asked

Maximum texture size for Kindle Fire HD

Hi, Just wanted to verify this, may I use 4096x4096 pixel textures for HD devices? Based on the hardware specs it looks like: 2048 for the 7" (OMAP 4460) 4096 for the 8.9" (OMAP 4470) Is that correct or 7" also supports larger textures?
fire tablet
10 |5000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

StephenC@Amazon avatar image
StephenC@Amazon answered
From what I've heard from the Kindle team, the hardware does a pretty good job downscaling images, so I believe larger textures will be acceptable.
10 |5000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Offbeatmammal avatar image
Offbeatmammal answered
in the guide at https://developer.amazon.com/sdk/fire/best-practices.html it does say: Applications should use the smallest image feasible and should not be a higher resolution than needed. These practices avoid adding bulk to the application and reduce the risks of performance implications from texture cache misses. as well as: [b]Ensure Correct Texture Size[/b] It is a common misconception that bigger textures always look better; a 1024x1024 texture that never takes up more than a 32x32 area of the screen is a waste of both storage space and bandwidth. A texture's size should be based on its usage; ideally this will be the same as the number of texels the texture will cover when the object to which it is mapped is viewed from the closest allowable distance. ... so assuming you are using hardware acceleration in your app and avoiding any other gotchas it shouldn't hurt too badly but look slike the recommendation is to minimize the size of the texture where possible
10 |5000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Brass Key Software avatar image
Brass Key Software answered
I think the question was what is the maximum size allowed for textures by the GPU. With hardware acceleration enabled in Android 3.0+, you can only draw bitmaps that are less than the maximum texture size (and/or dimensions) allowed by the GPU. For example, on some devices you can't use an image that's 3000 pixels wide and 10 pixels high. Even though the memory required may be small-ish, it's too wide to be loaded into a texture, so you can't (easily) display it. That's been my experience, anyway.
10 |5000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Brass Key Software avatar image
Brass Key Software answered
I think it's not only about actual textures. It's my understanding that with hardware acceleration enabled, all bitmaps are loaded into the texture cache. So even if you are trying to use a wide-but-not-very-tall image to hold something like sprite frames or buttons, they must be broken into smaller images (harder to manage from a code point of view), if larger than the maximum texture size in any dimension.
10 |5000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

E. Gonenc avatar image
E. Gonenc answered
Steve, I'm not sure if the downscaling will help actually it would cause native-res HD images to downscale if that's the case... On my Kindle Fire (original) if I try to load up textures larger than 2048px, textures are not displayed and all comes as black. Since image processing chip on 7" HD is similar to original KF, I assume 4096px textures also won't work on it. In which case I should split the sprite sheets... But apparently 8.9" HD will use a newer chip that can support 4096px textures... I'm asking as I'll need to verify this to decide on my workflow.
10 |5000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Samuel@Amazon avatar image
Samuel@Amazon answered
We got it confirmed from internal team about the Maximum texture size for KF. The values from the original post 2048 for the 7" (OMAP 4460) 4096 for the 8.9" (OMAP 4470) those are the values returned when you call IntBuffer size = IntBuffer.allocate(1); gl.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, size); Hope this helps you.
10 |5000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

E. Gonenc avatar image
E. Gonenc answered
That's exactly what I was looking for, thank you!
10 |5000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Samuel@Amazon avatar image
Samuel@Amazon answered
you are welcome :)
10 |5000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.