Как запросить текущий статус памяти OpenGL PBO (всего/доступно на данный момент)?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как запросить текущий статус памяти OpenGL PBO (всего/доступно на данный момент)?

Сообщение Anonymous »


Я использую объекты пиксельного буфера OpenGL (PBO / GL_PIXEL_UNPACK_BUFFER) для асинхронной загрузки данных из памяти ЦП в память ГП.

Я использую классический подход для быстрой загрузки данных с помощью PBO: я создаю GL_PIXEL_UNPACK_BUFFER, сопоставляю его, чтобы получить адрес в пространстве памяти ЦП, копирую свои данные в это место. Позже, когда рендереру потребуются данные, я добавляю PBO в свою текстуру OpenGL. Это работает очень хорошо и очень быстро. Я уверен, что моя реализация правильна, но дело здесь не в этом.

Насколько я понимаю, память PBO выделяется в выделенной области системной памяти. Эта область также называется «общая память графического процессора», и вы можете увидеть ее состояние, т.е. в диспетчере задач Windows.

Я столкнулся со следующей проблемой: я использую много PBO, и в какой-то момент «общая память графического процессора» заполнена, мое приложение аварийно завершает работу, а драйвер NVidia выдает ошибку нехватки памяти. Я не могу отловить эту ошибку с помощью glGetError() == GL_OUT_OF_MEMORY. Насколько я понимаю, это сообщение об ошибке не является надежным. Как я могу проверить размер общей/доступной на данный момент памяти PBO/общей памяти графического процессора? Я пока не нашел способа с OpenGL. Предлагают ли другие API-интерфейсы графических процессоров (DirectX, Vulkan, CUDA) полезные функции для этого?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Каков текущий статус GCJ на данный момент (середина 2009 г.)?
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Остановка асинхронного PBO OpenGL
    Anonymous » » в форуме C++
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как сделать Memcpy Asynchronous при загрузке текстур с PBO OpenGL
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Сколько второстепенных версий Oracle Linux Amis доступно в AWS в любой конкретный момент времени
    Anonymous » » в форуме Linux
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • ВНИМАНИЕ: root: не удается найти chromedriver для установленной в данный момент версии Chrome.
    Гость » » в форуме Python
    0 Ответы
    101 Просмотры
    Последнее сообщение Гость

Вернуться в «C++»