Конференция разработчиков игр — 2004с точки зрения железячника 21-22 февраля 2004 года



Введение

C 20 по 22 февраля сего года в Москве состоялась вторая Конференция разработчиков компьютерных игр (КРИ-2004). Думаю, что в Сети появится, да и уже начали появляться достаточно большое число материалов, посвященных этому мероприятию. И наверняка все они будут по теме компьютерных игр и технологий в этой области (а львиная доля будет описывать новинки из игр, представленные на данном форуме).

Моя же задача дать свои впечатления о данном мероприятии с точки зрения обозревателя видеокарт, следящего за развитием современных технологий в 3D-графике. Ведь на Конференции этому было посвящено много семинаров и лекций.

Несмотря на то, что форум официально шел с 20 по 22-е, в первый день, 20-го, практически еще ничего не было из массовых мероприятий, кроме платных мастер-классов. Стенды в фойе еще строились, сотрудники фирм-спонсоров и организаторов Конференции сновали по гостинице «Космос», где, собственно, и была КРИ. И лишь в некоторых удаленных залах шли семинары, то бишь мастер-классы, ведомые маститыми девелоперами. Одно имя Джона Ромеро чего только стОит!

Итак, основные события начались 21-го числа. 21-е февраля

Открытие

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

Из команды iXBT.com на Конференцию прибыли Александр Медведев, Филипп Герасимов и Алексей Барковой (слева направо).

Ну и, конечно, ваш покорный слуга, который не смог пройти мимо пустующего стенда ATI, как и Саша Медведев :):

Увы, но представители ATI на стенде появились намного позже, когда вокруг остальных стендов уже вовсю тусовался народ. Кстати, на КРИ прибыли и коллеги из смежных СМИ: Иван Притула (Guide3D), Дмитрий Зиновьев (Ferra) и Алексей Бурдыко (многостаночник :) ):

Чуть позже к нашей компании присоединился Константин Мартыненко (Sapphire Technologies), ведь он когда-то был практически родоначальником темы 3D-графики в Рунете на сайте Reactor Critical (ностальгия по тем временам его мучает до сих пор :) :

В концертном зале шло приготовление к открытию, впрочем на него пришло достаточно мало народу (все же стенды интереснее :)

В ожидании начала мы неплохо побеседовали с Геннадием Ригером из ATI Technologies (на фото справа):

Итак, довольно скромно началось открытие (если так можно сказать)… Первым взял слово от лица организаторов Конференции Евгений Малеев (DTF).

Затем по очереди выступили представители Оггкомитета Конференции (Александр Федоров), спонсоров мероприятия, в частности компаний Intel (Дмитрий Ильин, речь была посвящена более активному использованию новых технологий Intel, прежде всего HyperThreading в играх) и ATI (Геннадий Ригер). Завершилась церемония выступлением звездной, так сказать, пары: Тома Холла (Tom Hall) и Джона Ромеро (John Romero, ex-id Soft, ex-ION Storm) из компании Midway Entertainment.

Надо сказать, что программа Конференции была чрезвычайно насыщенной, за два дня с 10 до 18 часов в 5-6 параллельных потоках прошло 77 лекций и семинаров!

Разумеется, я был только на маленькой части из них, тем более, что меня интересовали технологии, так сказать, от первого лица, то есть от производителей. А они были представлены двумя ведущими компаниями в этой области: ATI (графический спонсор КРИ) и NVIDIA. Судя по программе, львиную долю информационного пространства заняла ATI, у которой оба дня были заполнены с самого утра до вечера. Сотрудники NVIDIA ограничились тремя семинарами 21-го февраля.

ATI

Десант канадской компании состоял из двух матерых в 3D зубров — Ричарда Хадди (Richard Haddy) и Геннадия Ригера (Guennadi Riguer),

а также очаровательной Натальи Татарчук (Natasha Tatarchuk),

которая своим профессионализмом даст 100 очков многим специалистам в 3D-графике. Когда выступал Ричард, то Наталья, кроме всего прочего, была еще и переводчиком на русский язык:

В первый день, 21-го, были рассмотрены аспекты из уже применяемых разработчиками технологий. Подробно рассматривался инструментарий RenderMonkey в свете применения его вообще и частности к GLSL (это язык высокого уровня для программирования шейдеров в OpenGL, стандарт которого бы недавно принят, и который уже нашел отражения в последних драйверах ATI и в скором времени появится на вооружении и у NVIDIA). В RenderMonkey признанный гуру — Наталья Татарчук, она и вела данный раздел.

Очень полезной для разработчиков была лекция Геннадия Ригера по оптимизации шейдеров.

Более подробно материалы по ATI мы рассмотрим позже, уже 22-го февраля :)

NVIDIA

Компания NVIDIA была представлена двумя лекторами: Джоном Спитцером (John Spitzer) и Ашу Рейджем (Ashu Rage) (на снимке ниже: Спитцер слева, Ашу — внизу, справа Филипп Герасимов с вопросом :)

Первым выступал Ашу,

он рассказывал в целом о поддержке разработчиков, сделав акцент на инструментарие по работе с FX-форматом (FX Composer — среда разработки и отладки шейдеров подобная RenderMonkey, но имеющая свои некоторые полезные преимущества, в т. ч. функцию оценки времени исполнения шейдеров на любой видеокарте серии NV3x), подробно описав его функциональные возможности и особенности. Интересно было увидеть отличную наглядность в работе с этим пакетом.

Джон Спитцер провел большой семинар по оптимизациям производительности,

прежде всего по нахождению узких мест (bottleneck) и способам борьбы с этими явлениями.

Прошу учесть, что схема работы 3D-ускорителя представлена в несколько упрощенном виде, под Video-памятью понимается как локальная память видеокарты, так и AGP-память. Как можно видеть, основные «бутылочные горлышки» производительности можно получить при работе:

  • центрального процессора;
  • с AGP-текстурированием;
  • с условиями нехватки локальной видеопамяти;
  • неоптимального выбора текстур;
  • со слабым блоком вершинных шейдеров (или традиционным TCL);
  • с малой скоростью заполнения сцены (fillrate);
  • с хилым пиксельным блоком.

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

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

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

После Спитцера была еще лекция Ашу по тонким вопросам оптимизации пиксельных шейдеров.

По завершении семинаров NVIDIA я вернулся на цикл лекций ATI. А до этого был перерыв с весьма неплохим обедом (спасибо организаторам!) и беседами около стендов. В частности, пообщались неплохо с Геннадием Ригером из ATI (на левом снимке Гена и Филипп Герасимов, на правом Гена и Андрей Воробьев):

А в холле, где шла ярмарка проектов, Джон Ромеро раздавал автографы:

22-е февраля

ATI

В этот день у сотрудников ATI был еще более напряженный день, ибо было много лекций и семинаров. Интересно попали в кадр Александр Медведев и Филипп Герасимов, встав на пути света от проектора:

Я бы сказал, что Тень RightMark3D пришла и затмила экран (напомню, что Александр и Филипп являются авторами этого проекта) :)

Геннадий и Наталья провели семинары по оптимизации OpenGL-приложений и особенностям возделывания некоторых эффектов с помощью шейдеров. Свой материал из двух частей Наталья Татарчук так и назвала: «Вода, огонь и медные трубы». На примере многих демо-программ ATI (а Наталья имеет к ним прямое отношение) были рассмотрены интересные нюансы по созданию того или иного эффекта, столь радующего глаз любителей 3D-графики.

Однако самой интересной частью, которую ждали очень многие участники Конференции, это «What Comes After 9800?». Эту лекцию провел Ричард Хадди. Аудитория заполнилась до отказа, даже некоторые слушали стоя. Среди коллег были замечены и самые юные,

которым это послушать было весьма полезно и интересно.

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

Ни одной лекции без евангелизма! Ричард не забыл упомянуть достижениях ATI: впервые за долгое время рыночная доля ATI превысила оную у NVIDIA. И хотя цифра в 0,2% может выглядеть неубедительно — главное что она показывает, то что ATI уже давно не второстепенный игрок. Сейчас у ATI наблюдается явное лидерсво в High-End, а с приходом XBox Next большинство разработчиков будут использовать в первую очередь именно возможности ATI.



  • Игры должны требовать видеокарты уровня не менее DX8 к рождеству 2004.
  • ATI рекомендует использовать Low-End DX9 видеокарты в качестве DX8-совместимых и не более. Т. к. для таких карт даже разрешение 1024×768 при использовании DX9-возможностей будет неиграбельным.
  • Требования выше приведут к тому, что разработчикам нужно писать в общем случае только два отдельных «пути» рендеринга. Хотя Ричард и добавил, что эти рекомендации основаны на прогнозах и поэтому субъективны, мы можем привести примеры игр следующим этим принципам. Это например Half-Life2, которая по умолчанию считает все карты, основанные на NV31-34 как карты DX8 уровня. Или, например, STALKER, который имеет две реализации движка рендеринга один для DX9 и другой для всех остальных.



На вышепредставленных двух слайдах Ричард уделил внимание различиям в реализации модуля, отвечающего за TCL в R2xx и R3xx. Если в поколении RADEON 8500-9100 блок вершинных шейдеров и блок с фиксированным TCL это действительно были два различных блока, то начиная с RADEON 9500 и выше фиксированный TCL эмулируется шейдером. Поэтому на R3xx всегда выгоднее использовать вершинные шейдеры, оптимизированные для конкретных нужд.



Этот слайд показывает рекомендации по количеству вызовов DirectX API, в границах которых возможно оптимальное использовании видеокарт на последнем поколении чипов (RADEON 9500-9800). Хотя слайд и относится к презентации ATI, точно такие же рекомендации по использованию API дает и NVIDIA.



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

Примечание Алексея Баркового: На самом деле я не уверен относится ли этот слайд к текущему поколению или к следующему!



Ричард еще раз упомянул расширенные возможности, которые доступны текущему поколению ускорителей от ATI:

  • антиалиасинг с использованием мультисэмплинга (MSAA) с программируемым расположением выборок — на текущий момент 2, 4 или 6.
  • centroid модификатор для выборки из текстур — важный момент при использовании MSAA совместно с некоторыми техниками рендеринга. Важно заметить, что текущая версия DirectX не разрешает официально использовать centroid модификатор на шейдерах меньших 3.0 (хотя…).
  • Использование гамма коррекция при антиалиасинге.

Был показан еще ряд довольно интересных слайдов, касаюшихся будущих технологий. Мы сегодня это пропустим, ибо в ближайшее время выйдет статья А.Медведева на эту тему: DirectX Next (не пропустите!).

Также нельзя не упомянуть, что за час до великолепного выступления Ричарда Хадди, на предыдущем семинаре Геннадия Ригера «Компрессия карт нормалей» был представлен новый формат текстур, предназначенный для использования компрессии карт нормалей. Кстати содержание этого семинара очень сильно перекликалось с семинаром по эффективному использованию пиксельных шейдеров, проведенному за день до этого Ashu Rage из NVIDIA. Что подчеркивает большое внимание, уделяемое IHV использованию карт нормалей в современных играх.

Использование карт нормалей дает приводит к потрясающе красивым результатам, но их добавление в игру означает для программистов чуть ли не удвоение общего объема текстур. Карты нормалей, которые не приводят к артефактам, должны хранится в текстурах как минимум с восемью битами на канал (RGB8), а лучше с 16 битами (G16R16) что и делается во всех демках от ATI. В компании задумались, как уменьшить объем занимаемый такими текстурами. После ряда экспериментов с форматами DXTn (формат компрессии с потерями, называемый в OpenGL как S3TC) было найдено, что наиболее оптимальным является использование формата DXT5, в котором каждая из двух координат (x, y) располагается в своем канале: цветовом и альфа. При хранении текстур в таком формате требуемый объем памяти уменьшается в 4 раза (32 бит против 8 бит)! И в качестве дальнейшего развития ATI в новых чипах будет поддерживать новый формат основанный на DXTC, предварительно называемый ATI2N, отличительной особенностью которого от DXT5, будет компрессия только единственой «цветовой» компоненты (из трех_ способом аналогичным компрессии альфа канала. Новый формат позволит поднять точность хранения сжатых текстур на порядок по сравнению с DXT5 при сохранении одинакового размера.

Вот таким выдался семинар у ATI, где были попытки дать намеки на будущие интересные технологии или развитие существующих без привязки к срокам и конкретным реализациям продуктов ATI. Когда все же у Ричарда проскочило, что в этом году мы увидим еще и 512 мегабайт памяти на видеокартах, он продолжил со спокойной душой: «Ну теперь бояться нечего, все равно меня уволят…» :-)

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

Финал

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

Самый главный вывод: ATI и NVIDIA, как два ведущих графических разработчика, ведут достаточно активные действия по поддержке производителей игр, общению с ними и совместным решениям проблем. Ведь все заинтересованы, чтобы игры на всех картах работали без глюков, оптимально и наиболее эффективно. Мне очень понравились постоянно слышимые призывы сотрудников ATI: «Пишите нам, и мы обязательно постараемся решить и ваши, и наши проблемы.»

Не обошлось и без курьезов. Ричард Хадди пошутил, сказав, что если ему пришлют по e-mail 50 игр, то он будет счастлив, но системные администраторы ATI будут в шоке.

Затем он в разговоре обмолвился, что он обязательно передаст о такой-то проблеме… драйверам. :) На что Юрий Крячко (1С) заметил, что теперь ясно, что драйвера у ATI сами себя пишут и сами же правят свои недостатки. :)

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

Напоследок Джон Ромеро с Филиппом Герасимовым в обнимку :-)





24 февраля 2004 Г.

— 2004

— 2004

21-22 2004



C 20 22 (-2004). , , , . ( , ).

, 3D-. .

, 20 22-, , 20-, , -. , - «», , , . , -, . !

, 21- .

21-

9 , . , , , .

iXBT.com , ( ).

, , , ATI, :):

, ATI , . , : (Guide3D), (Ferra) ( :) ):

(Sapphire Technologies), - 3D- Reactor Critical ( :) :

, ( :)

ATI Technologies ( ):

, ( )… (DTF).

( ), , Intel ( , Intel, HyperThreading ) ATI ( ). , , : (Tom Hall) (John Romero, ex-id Soft, ex-ION Storm) Midway Entertainment.

, , 10 18 5-6 77 !

, , , , , , . : ATI ( ) NVIDIA. , ATI, . NVIDIA 21- .

ATI

3D — (Richard Haddy) (Guennadi Riguer),

(Natasha Tatarchuk),

100 3D-. , , , :

, 21-, . RenderMonkey GLSL ( OpenGL, , ATI NVIDIA). RenderMonkey — , .

.

ATI , 22- :)

NVIDIA

NVIDIA : (John Spitzer) (Ashu Rage) ( : , — , :)

,

, FX- (FX Composer — RenderMonkey, , . . NV3x), . .

,

(bottleneck) .

, 3D- , Video- , AGP-. , « » :

  • ;
  • AGP-;
  • ;
  • ;
  • ( TCL);
  • (fillrate);
  • .

. bottleneck, .

, . , , . , , , ? . .

, ( , ). , , .

.

NVIDIA ATI. ( !) . , ATI ( , ):

, , :

22-

ATI

ATI , . , :

, RightMark3D (, ) :)

OpenGL- . : «, ». - ATI ( ) , 3D-.

, , «What Comes After 9800?». . , . ,

.

, -- ( , ). : , .

! ATI: ATI NVIDIA. 0,2% — , ATI . ATI High-End, XBox Next ATI.



  • DX8 2004.
  • ATI Low-End DX9 DX8- . . . 1024×768 DX9- .
  • , «» . , , . Half-Life2, , NV31-34 DX8 . , , STALKER, DX9 .



, TCL R2xx R3xx. RADEON 8500-9100 TCL , RADEON 9500 TCL . R3xx , .



DirectX API, (RADEON 9500-9800). ATI, API NVIDIA.



, , ATI ? , . . - , , .

: !



, ATI:

  • (MSAA) — 2, 4 6.
  • centroid — MSAA . , DirectX centroid 3.0 (…).
  • .

, . , . : DirectX Next ( !).

, , « » , . , Ashu Rage NVIDIA. , IHV .

, . , , (RGB8), 16 (G16R16) ATI. , . DXTn ( , OpenGL S3TC) , DXT5, (x, y) : . 4 (32 8 )! ATI DXTC, ATI2N, DXT5, «» ( _ . DXT5 .

ATI, ATI. , 512 , : « , …» :-)

.

, . , , ATI NVIDIA, . , , . , , .

: ATI NVIDIA, , , . , , . ATI: « , , .»

. , , e-mail 50 , , ATI .

, - … . :) (1) , , ATI . :)

, , . , .

:-)