Я группирую до 4000 вершин для вызова отрисовки с помощью glDrawElementsInstanced. Рисование прекрасно работает с использованием моего rtx 3060, и у остальной части моей команды не возникает никаких проблем, за исключением одной, использующей более старый графический процессор (gtx 1050). Вызов glDrawElements без пакетных вызовов вполне подойдет.
Я рисую текстуры. Я также дважды проверил максимальное количество системных блоков привязки текстур для GTX1050, которое совпадает с RTX3060 на 32. Я не уверен, что не так. Другой более слабый ноутбук, использующий MX150, мерцает, но хуже, чем RTX1050.
Я сомневаюсь, что графическим процессорам не хватает памяти, поскольку в настоящее время я использую только 8 вершин для тестирования. В glGetError() ошибок не регистрируется
IMGUI интегрирован с движком и не мерцает, поэтому я считаю, что это проблема с кодом. Был бы признателен, если бы кто-нибудь указал мне правильное направление, спасибо!
Я использую C++ opengl 4.5 в Microsoft Visual Studio.
Я пробовал использовать glDrawElements вместо glDrawElementsInstanced без пакетной обработки, но это не решает проблему. Только если я отключу пакетный рендеринг и сделаю вызов отрисовки для каждого объекта, тогда у более слабых графических процессоров не возникнет проблем.
Большая часть моей команды использует относительно мощный графический процессор, примерно такой же или выше. чем мой RTX3060, и у нас нет никаких проблем.
Подробнее здесь: https://stackoverflow.com/questions/792 ... -2d-engine
Пакетный рендеринг OpenGL, вызывающий мерцание на более слабых графических процессорах (2D-движок)? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение