Выполнение избыточных вызовов OpenGL - PullRequest
6 голосов
/ 05 февраля 2011

Мне было интересно, рекомендуется ли исключить все избыточные вызовы opengl.

Например, должен ли я делать что-то вроде (заключенное в функцию):

if(foobuffer != boundbuffer) {
  glBindBuffer(GL_BAR_BUFFER, foobuffer);
  boundbuffer = foobuffer;
}

Иливодитель автоматически делает такие вещи, а это на самом деле избыточная избыточная проверка?

Ответы [ 2 ]

5 голосов
/ 05 февраля 2011

Вам, вероятно, следует избегать этого Здесь (в частности, 22.040, вам придется прокручивать страницу вниз, поскольку для нее нет привязки), отмечается, что избыточные вызовы, как правило, плохая практика, даже если некоторые реализации пытаются минимизировать влияние.

Такие инструменты, как gDEBugger , могут быть использованы, чтобы помочь отследить, где вы могли бы делать избыточные вызовы, если вы находитесь в положении, когда вы не уверены, сколько вы можете сделать в кодовая база.

3 голосов
/ 05 февраля 2011

Я только что удалил много таких вызовов из приложения Android, поэтому я могу сказать вам из первых рук, что это имеет значение для этой платформы (для этой конкретной версии ОС и оборудования). Он увеличил частоту кадров на несколько кадров в секунду, я бы сказал, 5-10% прибыли.

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