Как я могу использовать удаленный графический процессор для аппаратного ускорения 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.
Другие вопросы по тегам