GL рендеринг темы на iphone, стоит ли это того? - PullRequest
4 голосов
/ 28 января 2010

Я новичок в iphone и вообще не выполнял никаких потоков. Кажется, что вызовы drawElements занимают большую часть моего времени обработки, поэтому я думаю, что выполняется большой объем рендеринга, прежде чем коду будет разрешено продолжить после вызова.

Кто-нибудь знает, как работает параллелизм openGL? или как это работает на iphone? сколько делается синхронно по сравнению с асинхронно? Стоит ли создавать поток рендеринга, который ставит в очередь все вызовы GL? продвигается даже хорошо на iphone? или это так ужасно, что даже если теоретически это было хорошей идеей, ужасная нить означает, что вы не должны беспокоиться? (как я уже сказал, я не пробовал нить на iphone).

кто-нибудь пробовал это раньше?

В основном, процессор просто сидит и ничего не делает, в то время как GPU выполняет какие-то действия с вызовом DrawElements / Arrays?

1 Ответ

2 голосов
/ 28 января 2010

OpenGL ES на iPhone - это немного и синхронно, и асинхронно (отложенный рендерер). Каждый вызов потребляет небольшое количество ЦП для перемещения памяти и подготовки ГП, но вы правы. Процессор иногда просто сидит, но когда это происходит, шина обычно насыщена.

Если у вас есть другие вещи, которые не слишком интенсивно используют память, то вы, вероятно, можете получить небольшое повышение, запустив вычисления в отдельном потоке. Я бы не советовал перемещать ваш код рендеринга, и я бы действительно следил за одновременными операциями с памятью. Оперативная память на iPhone является большим узким местом для рендеринга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...