0
\$\begingroup\$

I'm making an OpenGL es app on android and I'm trying to improve the performance of it.

I found this technique called tiled rendering (not the same thing as tiled deffered rendering*) wich divides the screen into tiles and renders them one at a time. The idea behind this is that non-dedicated GPUs (such as mobile phone GPUs) don't have a lot of memory, so dividing the screen into tiles reduces the amount of info to be sent to the GPU. This way, it's able to do all the calculations at once (like depth calculation) and it doesn't wait for the CPU to send additional info to continue each step of the rendering.

There's a bunch of other optimisation on top of this, but I'm only talking about the basics.

To implement this, I would need to make a draw call for each tile.

My question is: does the memory optimisation outweigh the draw call number performance hit?

Also, is there something in OpenGL es to do it automatically? Is it done by default in the background?

*Tiled Deffered rendering is only applied to the postshading after rendering the geometry. I'm talking about rendering the actual geometry on tiles.

\$\endgroup\$
2

1 Answer 1

0
\$\begingroup\$

After some research, it turns out that tiled based rendering is built in the hardware. Here's an article from PowerVR, a mobile GPU manufacturer to coroborate : https://blog.imaginationtech.com/a-look-at-the-powervr-graphics-architecture-tile-based-rendering/

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .