Does OpenGL ES, changing the texture format from RGBA8888 to RGBA4444 improve fill speed?

I get a lot of large images with alpha testing, and I click fill speed.

If you change the texture format from RGBA8888 to RGBA4444, will the fill speed be improved?

EDIT: Hardware is Iphone 3GS and OpenGL Version 1.1

0
source share
2 answers

While performing some tests, I found the following:

  • Downloading PNG as RGBA8888 I get 42fps
  • Downloading PNG as RGBA4444 I get 44fps
  • Download pvrtc2 I get 53 fps (and I had to double the size of the texture because it was not square)

The transition from rgba8888 to rgba4444 does not seem to improve the frame rate. But using pvrtc2 can do.

+2
source

You do not specify the specific equipment you are asking about, but Apple this , to say about PowerVR GPUs on iOS devices:

If your application cannot use compressed textures, consider using a lower pixel format. textures in RGB565, RGBA5551 or RGBA4444 format uses half the texture memory in RGBA8888 format. using RGBA8888 only when your application needs this level of quality.

Although this will improve memory usage, I'm not sure if it will have a dramatic effect on fill speed. You may be able to improve texture storage in the cache right away, but I would say that Tommy indicates that pixel operations are the more likely bottleneck here.

In addition, when it comes to texture size, you will get much better image quality at a smaller size using texture compression (like PVRTC for PowerVR GPUs) than reducing the accuracy of the texture pixel format.

+1
source

All Articles