Почему использование несколько контекстов OpenGL

Я собираюсь быть дьяволами, защищают здесь и не рекомендуют итераторы. Главной причиной, почему, является весь исходный код, я продолжил работать от разработки Настольного приложения до разработки игр, имеют, я, и при этом я не должны были использовать итераторы. Все время они не требовались, и во-вторых скрытые предположения и путаница кода и кошмары отладки, которые Вы получаете с итераторами, делают их главным примером для не использования его в любых приложениях, которые требуют скорости.

Даже от maintence точки зрения они - путаница. Не из-за них, но из-за всего искажения, которые происходят позади сцены. Как я знаю, что Вы не реализовали свой собственный виртуальный векторный или список массива, который делает что-то совершенно другое от стандартов. Я знаю то, что тип в настоящее время теперь во время времени выполнения? Действительно ли Вы перегружали оператор, у меня не было времени для проверки всего исходного кода. Ад я даже знаю что версия STL Ваше использование?

следующей проблемой, которую Вы получили с итераторами, является текучая абстракция, хотя существуют многочисленные веб-сайты, которые обсуждают это подробно с ними.

Извините, я не имею и все еще не видел точки в итераторах. Если они абстрагируют список или вектор далеко от Вас, когда на самом деле уже необходимо знать, какой вектор или перечисляют контакт с тем, если Вы не делаете тогда своей просто попытки собраться для некоторых больших сеансов отладки в будущем.

13
задан Samuel Harmer 16 February 2012 в 17:29
поделиться

4 ответа

Обычно я использую дополнительные контексты только тогда, когда это абсолютно необходимо, например, рендеринг в несколько окон графического интерфейса. Для всего остального я использую объекты кадрового буфера или изменения состояния.

Однако подобные рекомендации по производительности применимы не ко всем случаям. В случае сомнений следует измерить собственное приложение на собственном оборудовании. gDEBugger может помочь, доступна пробная версия.

12
ответ дан 1 December 2019 в 21:38
поделиться

В программах с графическим интерфейсом пользователя может быть несколько представлений opengl, при этом некоторые из них выполняются в том же потоке, что и графический интерфейс, а другие - в собственном потоке. Более того, вы можете запускать opengl в внеэкранном режиме. По крайней мере, один контекст на поток.

Не уверен, имеет ли смысл иметь больше контекстов для каждого потока.

2
ответ дан 1 December 2019 в 21:38
поделиться

Если вы хотите обратиться к нескольким графическим процессорам, вам необходимо использовать несколько контекстов, поскольку у вас есть по крайней мере один доступный для рисования на каждый графический процессор с контекстом, зависящим от графического процессора.

4
ответ дан 1 December 2019 в 21:38
поделиться

IIRC, объекты, такие как текстуры и объекты буфера, могут совместно использоваться между контекстами, поэтому технически вы можете создать второй контекст во втором потоке и загружать текстуры туда асинхронно , не беспокоясь о том, выполняет ли рендеринг первый поток.

7
ответ дан 1 December 2019 в 21:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: