Вы, вероятно, поверили в это из-за того, что читали где-то об «сокращении вызовов отрисовки» или что-то в этом роде.И это правда: меньше вызовов отрисовки лучше, чем больше вызовов отрисовки с точки зрения производительности.
Однако, когда дело доходит до OpenGL, проблема заключается не в «вызовах отрисовки».Это изменения состояния , которые вы выполняете между вызовами отрисовки, что делает отрисовку медленной.Если вы на самом деле не меняете состояние с одного розыгрыша на другой, то на самом деле они довольно быстрые.
Теперь последовательные розыгрыши, вероятно, будут не такими быстрыми, как мульти-розыгрыш.Но это потому, что каждый раз, когда вы выполняете вызов отрисовки, реализация должна задавать вопрос: «Изменил ли пользователь какое-либо состояние рендеринга?»Теперь, хорошая реализация, вероятно, установит немного где-нибудь в каждой функции изменения состояния, так что эта проверка сводится к простой проверке логического значения.Но это все еще нужно сделать для каждого розыгрыша.Multidraw делает эту проверку только один раз.
Но это, как правило, тривиальная разница в производительности.