Возможный дубликат:
Почему мы все еще используем процессоры вместо графических процессоров?

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

Без того же или эквивалентного процессора графический процессор не похож на ничего?

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

Таким образом, GPU не должен зависеть от процессора для игр.

4 ответа4

4

Процессор многое делает для игр на самом деле. Я перечислю кое-что, что я могу придумать, с макушки головы.

  • Процессор должен быть достаточно быстрым, чтобы выдерживать нагрузку вашего графического процессора. Например, ваш процессор должен быть достаточно быстрым, чтобы обрабатывать трафик, идущий на ваш графический процессор. Вот почему геймеры разгоняют свои процессоры. Ваша видеокарта может стать узким местом для вашего процессора, это огромная возможность и причина, по которой вы хотите покупать топовые процессоры при покупке топовых графических процессоров. Пример: в тот день у меня был Phenom II x4 955 и GTX275. (В то время оба были на более высоком уровне) Я тестировал свое узкое место в тесте Crysis. Чтобы протестировать узкое место, вы просто меняете разрешение, при котором ваша жетонная отметка. Если вы получаете примерно тот же FPS в разрешении 1920x1080, что и в разрешении 1024x768, то у вас узкое место. Теоретически ваш FPS должен играть в небесную ракету с таким низким разрешением. Это было так для меня с моим Phenom II, как только мой процессор был разогнан до частоты ниже 3,6 ГГц, я смог увидеть ОГРОМНОЕ увеличение FPS при тестировании на стендах в 1024x768.
  • Искусственный интеллект (ИИ) - ваш процессор управляет ИИ и выполняет всю техническую обработку, определяющую, как ваши неигровые юниты действуют в игре. Для современных игр это не маленькая задача для вашего процессора.
  • Physics Engine - Да, если у вас есть Nvidia, вы можете запустить PhysX на своей карте, однако по умолчанию он запускается с вашего процессора. Еще раз, хруст номера для вашей игры.

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

Надеюсь это поможет.

2

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

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

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

Например, я дам вам идею, используя одну игру, Supreme Commander.

У вас есть единое целое. Достаточно просто.

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

У устройства есть пистолет, и в этом случае вы должны отслеживать, стреляет он или нет.

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

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

Это все одновременно говорит графической карте, что рисовать там, где вам нужно.

Снаряд должен постоянно проверяться, чтобы определить, занимает ли он то же место, что и вражеский отряд, и в этом случае у вас есть удар, в противном случае вы продолжите.

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

Теперь представьте, что у каждого игрока может быть до 500 юнитов, потенциально способных двигаться, чтобы стрелять из нескольких орудий или ракетных пусковых установок, чтобы проверить, есть ли поблизости враги, из которых можно стрелять. Потенциально тысячи взаимодействий пуль, траекторий ракет и баллистических снарядов, которые должны быть созданы, отслежены, испытаны и имеют видимые действия, которые происходят в результате. Поместите 8 игроков в эту игру, и вы быстро получите несколько тысяч юнитов с десятками тысяч снарядов в игре, и все это со связанными программными "объектами", которые нужно создавать, отслеживать и уничтожать в течение срока службы объекта.

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

Во многих играх вы можете (своего рода) игнорировать все, что находится за пределами экрана или за пределами области в данный момент, но не так в игре RTS, каждое подразделение может двигаться, стрелять и умирать независимо от того, на что вы смотрите в данный момент. момент. В каждом отряде также есть встроенный "ИИ", который рассказывает, как следует передвигаться, как избегать препятствий, как добраться до противника, когда он должен стрелять, как он может стрелять.

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

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

1

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

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

Рендеринг сцены - лишь малая часть игры (не следует говорить "маленький", но определенно не все из того, что такое игра). Вам необходимо внутреннее представление объектов, что они делают и что происходит, когда они взаимодействуют. Даже если они не появятся на экране и не будут нарисованы. Расчеты необходимы для большей части этого, и некоторые графические процессоры имеют "физические" ускорители, которые могут помочь. Тем не менее, принятие решений (то есть ветвление) также необходимо, и это то, что GPU не очень хороши в программах общего назначения, которые разветвляются повсюду.

0

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

Вот хорошая статья на эту тему. http://www.cs.virginia.edu/kim/docs/ispass11.pdf

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