Исследование возможностей TCL на практике

13.12.2001


Результаты тестов

  Подведем итоги. Тесты показывают, что потенциально аппаратный блок TCL GeForce может радикально изменить качество графики, позволить использовать 50-100 тысяч полигонов в кадре. Для примера, в Quake 3: Arena в среднем на кадр приходится около 4 тысяч полигонов, в MDK2 – около 5 тысяч, Evolva, о которой я уже упоминал, имеет на сегодня самое большое количество полигонов – примерно 20 тысяч на кадр. Это то, на что способны современные процессоры среднего класса. С помощью становящихся уже картами нижнего уровня GeForce2 MX, это количество можно повысить в 3-7 раз! При этом можно использовать несколько аппаратных источников света, что дает возможность создавать на новом уровне красивые световые эффекты.

  Возможности открываются очень большие. В теории. На практике дело обстоит не так радужно. К сожалению, современные игры могут использовать лишь малую часть этого богатства. Прирост в них составляет 40-45%, что может очень сильно помочь владельцам слабых процессоров, вроде Celeron’ов на низких частотах. Но на мощных процессорах это практически не актуально: скорость в высоких разрешениях и True Color упирается исключительно в Fillrate и пропускную способность памяти ускорителя.

  Тесты в 3DMark2000 показывают, что игры в Direct3D, специально рассчитанные на использование ускорителей, снабженных аппаратными блоками TCL, могут реально извлечь из них огромную пользу. Очень привлекательно выглядит идея вертолетного симулятора с подобной детализацией земли: густым лесом, домами, техникой, световыми эффектами.

  Или квест с “плавающей” камерой и качеством графики не уступающим лучшим пререндеренным фонам двухмерных аналогов. Да мало ли применений “лишним” полигонам! Сейчас готовятся к выходу походовые и realtime стратегии, аркады, шутеры и многие другие. Остается только ждать. С момента выхода первого GPU прошло уже больше года. На разработку новой игры требуется около полутора – двух лет. Это значит, что игры нового поколения, которые во всей красе продемонстрируют преимущества аппаратного TCL, на подходе. Black&White, Unreal 2, Hostile Water – вот наиболее ожидаемые из них.

  Что же реально мы сможем получить от аппаратного TCL в этих играх? У нас есть два факта.

  1. Даже в хорошо оптимизированных тестах, узким местом остается центральный процессор, несмотря на то, что все расчеты TCL взял на себя GPU, оставшись при этом незагруженным, работая в полсилы.

  2. В любом тесте, в частности в том же 3D Mark2000, при уменьшении количества полигонов, в разы повышается и скорость, при этом сохраняется и прямая зависимость от скорости процессора.

  Что же это означает? Первое - что на процессор возложены не только геометрические расчеты, которые с успехом может взять на себя GPU, но и другие, связанные с AI, физикой и другими прикладными задачами. Это естественно. Именно на это можно списать то, что аппаратный TCL берет на себя лишь часть расчетов (в 3D Mark2000 – 50-70%, в Quake3 и MDK2 – 30%), а не все. И именно поэтому аппаратный T&L не способен дать в играх с небольшим количеством полигонов значительных преимуществ перед программным. Ведь количество расчетов по трансформации и освещению по сравнению с остальными сравнительно мало.

  Однако мы знаем, что при повышении количества полигонов (не связанные с геометрией расчеты остаются на прежнем уровне), повышается и нагрузка на процессор, хотя по идее, все геометрические расчеты должен брать на себя GPU. Почему это происходит? Дело в том, что кроме расчетов по трансформации и освещению, движок любой игры проводит и другие вычисления, связанные непосредственно с геометрией. Например, удаление невидимых поверхностей (не путать с Clipping!). Т.е. частичное удаление полигонов, попадающих в поле зрения, но скрытые от наблюдателя другими полигонами (частичное – потому что практически невозможно программными средствами достичь 100% эффективности, обычно около 30-60%). Другой пример – кривые поверхности, использующиеся, в частности, в Quake3.

  Объем всех этих вычислений напрямую зависит от количества полигонов, поэтому его увеличение в несколько раз неизбежно приводит к соответствующему повышению нагрузки на процессор. Это значит, что игры на движках, не оптимизированных для применения аппаратного TCL, могут получить от GPU лишь увеличение количества полигонов в полтора-два раза. Т.е. GPU большую часть времени будет простаивать, ожидая, пока процессор вычисляет свою часть геометрических и прочих расчетов.

  Эта проблема, вероятно, будет решаться с двух сторон. С одной стороны, будут появляться оптимизированные движки, в которых программные геометрические расчеты будут сведены к минимуму. С другой стороны, GPU будут совершенствоваться, новые модели смогут взять на себя больше задач. В следующем поколении ускорителей можно ожидать такие возможности как программируемый блок TCL, кривые поверхности на аппаратном уровне, аппаратное отсечение невидимых поверхностей. Все это позволит ускорителям взять на себя многие геометрические задачи, которые не способны решать современные GPU, оставляющие их на долю процессора. Именно тогда мы сможем играть в игры с 100-200 тыс полигонов в кадре.

  Что касается современных ускорителей, таких как GeForce, то максимум, что они могут дать на практике (а не в технодемках, лишенных “недостатков” полноценных игр), это увеличение в 2-3 раза количества полигонов в сцене по сравнению с программным TCL. При этом чтобы задействовать его мощность полностью, требуется очень быстрый процессор.

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



Итог

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

  Не стоит также ожидать, что аппаратный TCL (по крайней мере, текущего поколения) даст 10-кратный рост количества полигонов в будущих играх. Реально едва ли будет больше, чем 3-х кратный. Это, хотя и не является чудом, но отразится на качестве будущих игр более чем положительно. И такие игры полноправно можно называть “Играми нового поколения” в графическом плане.

  Также, если у Вас нет 1.5ГГц процессора (или хотя бы 1ГГц), нет никакого смысла гнать до предела ядро ускорителя: даже на мощном процессоре использовать весь потенциал даже не разогнанного GeForce256 вряд ли удастся.

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



Епимахов Игорь a.k.a. Sboy (sboy2@mail.ru)

Особая благодарность Алексею Николайчуку a.k.a. Unwinder и Игорю Шевченко a.k.a. Bishop за неоценимую помощь при подготовке материала

Переход на страницу:

 1 

 2 

 3