IT-словарь › Программирование › Считывание данных с GPU (readback)

Считывание данных с GPU (readback)

Программирование Svenska → Обновлено: 2026-10-26

Копирование данных с GPU обратно на CPU — тривиально в написании и печально известно остановками конвейера.

CPU и GPU обычно работают асинхронно: CPU ставит команды в очередь и убегает вперёд, а GPU отстаёт на кадр и больше. Readback ломает эту схему: если CPU хочет прочитать отрисованный пиксель, результат вычислений или occlusion query, ему приходится ждать, пока GPU действительно закончит, и такая синхронизация может съесть весь запас времени кадра. Ранние вызовы glReadPixels славились именно этим.

Лекарство — никогда не читать текущий кадр. Данные копируют в staging-буфер и забирают результат через пару кадров, когда GPU всё равно уже прошёл нужную точку; стандартный приём — кольцо из нескольких staging-буферов. GPU-пикинг, скриншоты и автоэкспозиция по гистограмме опираются на отложенный readback.

← Назад к словарю