OpenGL (ES) - масштабирование вычисляется процессором или графическим процессором и является «дорогой» операцией (условно говоря)? - PullRequest
0 голосов
/ 05 мая 2011

Причина, по которой я спрашиваю, состоит в том, что я написал схему рендеринга для 2D-игры сверху вниз, которая использует ортопедическую проекцию.Чтобы придать глубину, я масштабирую объекты.Мне интересно, улучшит ли производительность переключение на усеченный конус и использование z-coor вместо масштабирования.Я просто реализовал бы это и узнал, но это заняло бы у меня несколько часов, и его проще просто спросить здесь.

Ответы [ 4 ]

2 голосов
/ 05 мая 2011

glScale просто модифицирует матрицу на вершине стека, все это делается в CPU.Что касается дорогих «условно говоря», я думаю, я спрашиваю - относительно чего?:) Это не так дорого, если вы делаете это время от времени.Если вы делаете это в критическом внутреннем цикле, то, да, это может быть дорого.

1 голос
/ 05 мая 2011

2D с использованием орто-проекции не будет масштабироваться при изменении глубины z.Если вас интересует стоимость, связанная с изменением глубины z, то должно быть идентичной стоимостью - просто матричным преобразованием, но оно может выглядеть по-другому и может повлиять на плоскости отсечения.Однако вызов функции всегда обходится дороже, чем , а не вызов функции, поэтому, если вы можете отслеживать и использовать глубину одновременно, это должно быть микро-дешевле с ранее перечисленными предостережениями.Надеюсь, это не слишком много слов суп.

1 голос
/ 05 мая 2011

Насколько я знаю, glScale http://www.opengl.org/sdk/docs/man/xhtml/glScale.xml, - это стандартная функция OpenGL, которая модифицирует матрицу, но не указывает, выполняется ли она на процессоре или графическом процессоре. Я предполагаю, что это будет зависеть от реализации, но это может быть сделано на GPU; или процессор, как любая другая функция OpenGL.

1 голос
/ 05 мая 2011

Почти наверняка быстрее переключиться на 3D-вид и использовать glFrustum.Это то, для чего действительно построено аппаратное обеспечение, и оно делает это вполне хорошо, по крайней мере в большинстве случаев.

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