GL rendering stream on iphone, is it worth it?

I am new to iphone and never drew a thread at all. It seems that drawElements calls take up most of the processing time, so it seems to me that most of the rendering is done before the code is allowed to continue the call.

Does anyone know how openGL parallelism works? or how does it work on iphone? how much is done synchronously compared to asynchronous? Is it worth it to make a rendering thread that queues all GL calls? pervades even the good on iphone? or is it so terrible that even if it would be a good idea in theory, a terrible thread means you should not worry? (without making judgments, as I said, I did not try to thread the iphone at all).

Has anyone tried this before?

basically, is the processor just sitting there doing nothing while the GPU is really working with a DrawElements / Arrays call?

+4
source share
1 answer

OpenGL ES on the iPhone is nothing more than synchronous and asynchronous (delayed visualization). Each call consumes a small amount of processor to move memory and prepare the GPU, but you're right. The processor just sits there sometimes, but when it is, the bus is usually saturated.

If you have other things that are not too full of memory, then you can probably get a small boost by doing the calculations in a separate thread. I would not suggest moving your rendering code, and I would really observe concurrent memory operations. RAM on the iPhone is a big bottleneck for rendering as it is.

+2
source

Source: https://habr.com/ru/post/1299610/


All Articles