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

277
Time4Tea

Мне интересно, какой тип данных передается от ЦП к ГП при использовании ускоренной 3D-графики (например, для типичной современной 3D-видеоигры)?

Я знаю о существующем вопросе здесь:

Разница между GPU и CPU

это объясняет разницу между процессором и графическим процессором. Тем не менее, это довольно высокий уровень, и я ищу более детальные детали.

Например, отправляет ли он поверх графа сцены или координаты вершин трехмерных примитивов? Какие вычисления выполняются ЦП для данных до того, как произойдет передача?

0
Я понимаю, как это можно считать слишком широким, но действительно невидимым, слишком широким? Да, это потребовало бы приблизительно 10-20 параграфов все же. Маленькая книга, но не сумасшедшая. jdwolf 6 лет назад 0
@DavidPostill Я знаю, что вопрос довольно широкий, но не думал, что он будет помечен. Я могу разбить его на 2-3 отдельных вопроса, если это предпочтительнее? Time4Tea 6 лет назад 0
Было бы хорошо узнать, почему кто-то проголосовал против. Я знаю, что это довольно широко, но это плохой вопрос? Time4Tea 6 лет назад 0
@ Time4Tea Вы можете попробовать ... DavidPostill 6 лет назад 0
Вопрос был отредактирован для уменьшения объема. Time4Tea 6 лет назад 0
@ Time4Tea Движение в правильном направлении. Возобновлено. DavidPostill 6 лет назад 0
«Какие вычисления выполняются процессором для данных до того, как произойдет передача?» - Это до программиста. DX12 или Vulkan имеют функции, которые возвращают значение, рассчитанное аппаратно. То, что рассчитывается, зависит от программиста. ЦП в большинстве этих приложений оставлен для вычислений без плавающей запятой. Ramhound 6 лет назад 0
@Ramhound спасибо за ваш вклад, и я понимаю, что большая часть этих деталей зависит от программиста приложения (так же, как неграфическое программирование для CPU). Итак, правильно ли я сказал, что в примере с трехмерной игрой частью задачи кодирования игрового движка является определение потока данных для рендеринга графики и как именно будет использоваться графический процессор? Существует ли общепринятая отраслевая практика, в которой происходит передача данных, или широко используемый механизм, который можно рассматривать в качестве примера? Time4Tea 6 лет назад 0
В настоящее время на рынке существует около 4 основных игровых движков. В зависимости от того, имеете ли вы дело с DX12 или Vulkan определяет, как что-то нарисовано на экране. Помимо этого, то, как вы манипулируете тем, что нарисовали на экране, полностью зависит от программиста. Я, честно говоря, не совсем уверен, что вы ищете. Кажется странным, что вы не знали бы об Unity или Unreal. Ramhound 6 лет назад 0
@ Конечно, я слышал об этих двигателях, хотя я мало что знаю о том, что они делают «под капотом». Дело в том, что у CPU и GPU есть отдельные области памяти, поэтому я предполагаю (что может быть неверно), что в какой-то момент «данные сцены / геометрии» должны быть перенесены из RAM CPU в RAM GPU. Мне любопытно, на какой стадии обычно происходит такая передача, хотя я понимаю, что она может отличаться для разных игровых движков. Возможно, я должен вместо этого спросить, как это делается для конкретного примера движка (например, Unreal)? Time4Tea 6 лет назад 0
Если вы вызываете функции DX12 или Vulkan, вы помещаете материал непосредственно в память графического процессора. Процессор собирается вычислять вещи, которые GPU не может легко вычислить. Похоже, вам нужно больше исследовать, как на самом деле работают DX12, Vulkan и Unity / Unreal. Ваш вопрос не в том месте, где на него можно легко ответить без полного урока по всем вопросам (который очень широк), и он не дает хорошего ответа на веб-сайте вопросов и ответов, таком как Superuser. Ramhound 6 лет назад 0
@ Хорошо, спасибо за ваш вклад. Да, возможно, у меня принципиальное отсутствие понимания того, как работает обработка трехмерной графики (и взаимодействие между процессором / графическим процессором). Может быть, это помогло бы мне понять, если бы я прошел вводный онлайн-учебник для OpenGL / Vulkan? Time4Tea 6 лет назад 0

0 ответов на вопрос

Похожие вопросы