Как я могу использовать удаленный графический процессор для аппаратного ускорения 3D-рендеринга?
Я знаю, как использовать VirtualGL для удаленного подключения к серверу и запуска приложений OpenGL. VirtualGL позволяет 2D-элементам графического приложения проходить от серверного компьютера к клиентскому компьютеру через соединение SSH, но перехватывает 3D-элементы и отображает их на серверном компьютере, а затем отправляет изображения в виде потока клиенту. X сервер.
Но я хочу иметь возможность запускать графические приложения, установленные на клиентском компьютере, таким образом, что 2D-элементы визуализируются локально, в то время как 3D-команды отправляются после инкапсуляции через высокоскоростную сеть на сервер, где они отображаются, и изображения в виде потока затем отправляются обратно. Существует ли существующее решение или конфигурация VirtualGL, которая работает таким образом?
0 ответов
Я думаю, что это невозможно с VirtualGL. VirtualGL работает путем перехвата вызовов GLX, перенаправления их на другой сервер Xorg, рендеринга кадров с использованием GL_ARB_pixel_buffer_object
расширение и отправка сжатых изображений по сети клиенту.
VirtualGL не решает проблему отправки вызовов GLX по сети.
Я пробовал "косвенный рендеринг", но есть много проблем:
- По умолчанию он отключен из-за проблем безопасности,
- Производительность ужасна,
- Не обеспечивает
GL_ARB_pixel_buffer_object
расширение требуется VirtualGL.