Повышают ли графические карты скорость другого рендеринга, когда мы не вызываем DirectX или OpenGL? - PullRequest
0 голосов
/ 18 января 2011

Мне интересно, как работает видеокарта в целом. Пожалуйста, просветите меня.

Если мы не обращаемся к графической библиотеке, такой как DirectX или OpenGL, отображает ли видеокарта все остальное на экране? Или все эти вычисления для рендеринга зависят от процессора и отображаются процессором?

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

1 Ответ

2 голосов
/ 19 января 2011

Простой ответ - «да», в современной ОС видеокарта отображает практически все на экране. Это не вопрос «видеокарты», а вопрос ОС. Карта могла делать это с дней 3dfx, но ОС до недавнего времени не использовала ее для создания оконных композиций.

Для вашего примера ответ действительно зависит от API, который вы используете для рендеринга вашего окна. Можно представить себе API, который далек от ОС, и решил всегда хранить данные изображений в памяти процессора. Если каждый кадр отображается путем перетаскивания видимой части от процессора к графическому процессору, графический процессор, скорее всего, не станет узким местом (вероятно, будет PCIE). Но другие API (надеюсь, тот, который вы используете) могут хранить данные изображения в памяти графического процессора, и видимая часть может отображаться из памяти графического процессора без обхода PCIE каждый кадр. Тем не менее, часть окна «оформление», вероятно, рисуется серией вызовов OpenGL или DX.

Надеюсь, это достаточно хорошо отвечает?

...