[Android] Render Target and GUI

Hi, i’m currently developing GUI library (you can check it by typing “XAGUI” in a search box on GitHub) and i’m disappointed by SDL’s performance on android.
At first i want to say something about mechanics.
Controls are rendered to the canvas (only when it?s needed/requested).
That texture is rendered once per frame.
Canvas is a texture created as a render target. One texture to draw gives better performance and better scaling quality, at least on PC. However on android it’s pretty slow when you do something. Obviously any change to GUI calls redraw request.
For example i have got 8 fps on my Galaxy S Advance when i’m moving window. It was also tested on 3 others devices and the results were almost the same.
My question is - how to improve whole proccess for android devices or maybe i need to avoid rendering to texture on android?

It seems odd that you would only get 8 FPS copying a render target to the
screen. That should be super fast, as it’s all in GPU memory. How big is it?On Sat, Jan 11, 2014 at 4:03 AM, Flash wrote:

Hi, i’m currently developing GUI library (you can check it by typing
"XAGUI" in a search box on GitHub) and i’m disappointed by SDL’s
performance on android.
At first i want to say something about mechanics.
Controls are rendered to the canvas (only when it?s needed/requested).
That texture is rendered once per frame.
Canvas is a texture created as a render target. One texture to draw gives
better performance and better scaling quality, at least on PC. However on
android it’s pretty slow when you do something. Obviously any change to GUI
calls redraw request.
For example i have got 8 fps on my Galaxy S Advance when i’m moving
window. It was also tested on 3 others devices and the results were almost
the same.
My question is - how to improve whole proccess for android devices or
maybe i need to avoid rendering to texture on android?


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

It depends on canvas size, however in test is 1024x768.

Yesterday I deeply test it and i found out what’s wrong. I really don’t expect that SDL_SetRenderTarget() with non-nulled second argument is so slow (to 11ms). It’s even slower than clearing render target + rendering each element to texture that is render target + rendering whole canvas.