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

Может ли кто-нибудь объяснить или указать на объяснение (или, по крайней мере, на некоторые подсказки) того, как работает рендеринг в настройке с несколькими графическими процессорами / несколькими мониторами?

Например, у меня установлено 5 видеокарт NVIDIA Quadro 4000 и подключено к ним 9 дисплеев. Дисплеи никак не группируются. Просто в Windows 7 устроено, что общее разрешение 4098х2304. Карты также не подключены к SLI.

У меня есть приложение Flash, которое видит окно 4096x2304 как единый контекст Stage3d (используя dx9) и может работать с этой довольно необычной настройкой, как если бы это был просто огромный дисплей с одной видеокартой.

Как рендеринг работает внутри? Что на самом деле делают видеокарты? Делятся ли они ресурсами? Кто рендерит весь материал? Почему я получаю 29,9 кадров в секунду, практически ничего не делая в приложении?

Спасибо.


person Valentin Simonov    schedule 02.10.2012    source источник
comment
9 дисплеев?! ...боже. Хотелось бы увидеть фото этой установки.   -  person Mike    schedule 03.10.2012


Ответы (1)


Я не знаю для DX, но для OpenGL я собрал эту информацию здесь: http://www.equalizergraphics.com/documentation/parallelOpenGLFAQ.html

Короче говоря, в Windows с новыми драйверами nVidia один графический процессор (обычно первый) выполняет рендеринг всего, а другие получают содержимое в виде битов. Если вы включите режим мозаики SLI, команды GL отправляются на все графические процессоры, что дает вам возможность масштабирования скорости заполнения.

person eile    schedule 03.10.2012
comment
Я бы предположил аналогичным образом. Iirc D3D имеет API для выбора устройства. - person eile; 05.10.2012