2

Что такое косвенный рендеринг и как он влияет на производительность графики?

Кроме того, это специфичный для Linux термин или его можно использовать в контексте других операционных систем?

3 ответа3

4

Косвенный рендеринг - это когда удаленное приложение отображается на локальном компьютере. Он передает графические данные по протоколу X11. Как это работает, зависит как от сетевого подключения для передачи данных, так и от того, насколько хороша ваша локальная карта gfx.

Это применимо к любой системе с картой gfx и работающим X-сервером (windows или linux)

1

Косвенный рендеринг в основном означает, что весь конвейер рендеринга проходит через GLX/X11. Это компромисс, который обычно приводит к большему потреблению ресурсов, а также к большей задержке и иногда к снижению скорости рендеринга.

Упрощенно для целей иллюстрации я опишу это здесь.

Прямой рендеринг:

Приложение -> LibGL -> Драйвер -> Аппаратное обеспечение

Непрямой рендеринг

Приложение -> LibGL -> Xorg -> Драйвер -> Аппаратное обеспечение

Преимущества косвенного рендеринга в том, что он уменьшает количество ошибок, связанных с драйверами, не требует доступа пользователя к видеокарте (функция безопасности) и позволяет выполнять рендеринг по сети.

Недостатки косвенного рендеринга заключаются в том, что он имеет более длительный срок службы конвейера и его конвейер использует больше ресурсов (в частности, пропускную способность памяти и время процессора).

Непрямой рендеринг обычно приводит к снижению производительности, особенно в приложениях, которые имеют высокую нагрузку на процессор или рассчитаны на использование конвейера рендеринга с низкой задержкой.

В некоторых редких случаях прямой рендеринг может быть быстрее в приложениях, которые плохо обрабатывают буфер короткой очереди в конвейере прямого рендеринга. Как и в случае, когда буфер печати ускоряет печать, это может быть связано с ошибками или ограничениями в приложениях, которые зависят от скорости, с которой исходящие асинхронные вызовы рендеринга могут передаваться потоком.

-1

Косвенный рендеринг в отличие от прямого рендеринга означает, что вы используете какой-то программный рендеринг вместо того, чтобы использовать графическую карту. Результат плохой 3D-рендеринга.

Косвенный рендеринг означает отсутствие аппаратного ускорения графики.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .