CUDA: самый быстрый способ чтения буфера дисплея?

Каков самый быстрый способ чтения буфера экрана с помощью CUDA (весь экран, а не только окно)?
Можно ли это сделать, не копируя тонны пикселей между хостом и устройством?
Могу ли я получить доступ к этому конкретному буферу напрямую?


person Kh40tiK    schedule 05.07.2013    source источник
comment
Я не верю, что существует какой-либо способ чтения буфера экрана с помощью CUDA.   -  person talonmies    schedule 05.07.2013
comment
Я новичок. Можете ли вы дать мне больше объяснений по этому поводу? Что может CUDA? Нужен ли мне доступ к памяти VGA?   -  person Kh40tiK    schedule 05.07.2013
comment
Измените буфер gl перед отправкой в ​​буфер отображения. взаимодействие с ГЛ.   -  person huseyin tugrul buyukisik    schedule 05.07.2013


Ответы (1)


Рендеринг в объект буфера рендеринга openGL, затем использование взаимодействия CUDA OpenGL, чтобы сопоставить его с указателем устройства и прочитать его в ядре CUDA. Вы также можете сделать то же самое с Direct3D.

См. примеры графики, входящие в состав CUDA SDK.

person harrism    schedule 07.07.2013
comment
Спасибо за ответ. Но проблема в том, как я могу сопоставить буфер рендеринга для ВСЕГО экрана (без копирования буфера в память хоста)? Например, как я могу сделать снимок экрана, включая меню «Пуск», значки на рабочем столе? - person Kh40tiK; 08.07.2013
comment
Это не вопрос CUDA, и это не то, что вы изначально задали. Вы должны опубликовать это как отдельный вопрос или удалить тег CUDA. Быстрый поиск в Google показал это. Если мой ответ был полезен, пожалуйста, проголосуйте и/или примите его. - person harrism; 09.07.2013