Будет ли снижаться производительность при использовании мультисэмплированного контекста OpenGL при отключенном мультисэмплинге?

Создайте мультисэмплированный контекст OpenGL, отключите мультисэмплинг с помощью glDisable, сравните с использованием контекста без мультисэмплинга, как это повлияет на производительность?


person Cliffwolf    schedule 26.12.2012    source источник


Ответы (1)


Уровень MSAA (или FSAA) определенно влияет на производительность. Просто создайте базовое приложение OpenGL с несколькими примитивами (желательно большого размера, чтобы фрагментному шейдеру пришлось выполнять много работы), и вы заметите падение производительности. Конечно, это зависит на ваши аппаратные характеристики, но да, в конце концов, есть заметное влияние. Почему это происходит? Потому что пиксели сэмплируются несколько раз, что означает дополнительную работу для фрагментного шейдера. Прочтите это для подробного объяснения.

person Michael IV    schedule 26.12.2012
comment
Вы не ответили на вопрос оп. Если вы включаете многовыборочный контекст/представление, но отключаете многовыборку с помощью glDisable, получается ли, что вы никогда не создавали контекст/представление MSAA с самого начала? Или все же штраф? - person Daniel Gerson; 12.08.2013
comment
glEnable(GL_MULTISAMPLE) влияет на пользовательские (закадровые) FBO. Установка мультисемплового контекста отображения приводит к тому, что ваш FBO по умолчанию будет таким, и на него не влияет glEnable(GL_MULTISAMPLE) - person Michael IV; 12.08.2013
comment
Спасибо за разъяснение! Stackoverflow › документация ;-) - person Daniel Gerson; 12.08.2013