Для начала давайте вспомним что такое Doom 3, а это, мои маленькие любители видеокарт, настоящая веха в истории развития графики в играх. Увы, усилиями компании nVidia и мистера Хуанга, веха эта так и не стала революцией.
Так или иначе, в 2002 году на выставке E3 была продемонстрирована демо версия данной игры, ну и сказать, что она всех повергла в шок - это ничего не сказать. Ибо такого уровня графики в играх ещё никто не видел.
реклама
Данная версия, датированная маем 2002 года, утекла в сеть в ноябре 2002 года, по слухам утечка произошла в компании ATi, и теперь она более известна как Doom 3 Alpha. В сети до сих пор ходят байки, о том, что якобы это стало причиной разрыва сотрудничества id Software с компанией ATi, и тесном сотрудничестве с nVidia. Якобы раньше то игру показывали только на железе ATi, а теперь стали только на nVidia. И якобы этим и объясняется превосходство в производительности видеокарт nVidia над ATi в данной игре. Но как вы понимаете всё это чушь, ибо на оборудовании nVidia данную игру демонстрировали задолго до слива данной версии игры в сеть. А именно, аж ещё в январе 2001 года технодемо Doom 3 показали на презентации Apple в Токио, и демонстрировали его на видеокарте GeForce 3.
реклама
Просто в 2002 году уже вышли Radeon 9500/9700, и конкурентов у них со стороны nVidia долго не было - так что логично было демонстрировать игру на топовом на тот момент железе, а как появилось что-то вменяемое от nVidia... то тут уже чемоданы Хуанга зарешали.
К сожалению, ждать релиза игры пришлось ещё долгих 2 года, ибо в виду политики компании nVidia и лично мистера Хуанга, рынок оказался завален устаревшими видеокартами с технологиями конца 90х годов. Хорошие же видеокарты GeForce 3 и GeForce 4Ti, умевшие в шейдеры, поступали в продажу в ограниченном объеме и по конским ценам 500$ и 400$ на релизе, в виду исполнения мистером Хуангом контракта с Microsoft на поставку 24 миллионов таких чипов для использования в приставке Xbox, которая на релизе в 2002 году стоила... барабанная дробь... 299$ целиком. Ну а следующее поколение чипов nVidia под именем FX оказалось провальным, так что выход Doom 3 отложили до появления GeForce 6800GT в 2004 году.
И что характерно, за эти два года игра хоть и преобразилась, увы местами далеко в не лучшую сторону.
реклама
Можно долго рассуждать о том, чего в игру добавили, а что убрали - это тема для отдельной статьи. Однако даже в таком состоянии она была на голову выше всех своих конкурентов, и как следствие стала одним из основных игровых бенчмарков на долгие годы.
Системные требования DOOM 3:
CPU: Pentium IV 1.5 GHz or Athlon XP 1500+ processor or higher
RAM: 384 MB
реклама
OS: Microsoft Windows 2000/XP
VIDEO CARD: 100% DirectX 9.0b compatible 64MB Hardware Accelerated video card and the latest drivers
DISK SPACE: 2.2GB of uncompressed free hard disk space (plus 400MB for Windows swap file)
Пусть напрямую это не заявлено, но игра поддерживает даже такое барахло как nVidia GeForce 4MX, увы, без поддержки данного барахла игры тогда было выпускать нельзя, ибо можно было попасть в немилость к мистеру Хуангу, который завалил всё данными ускорителями - в виду невозможности нарастить производство GeForce4 Ti, и нежелания терять рынок. Так что пришлось пойти на прямой обман пользователей, скормив им под видом актуального поколения, видеокарту 2х летней давности - тупо переименовав GeForce 2MX, и подкинув ему частот и набортной памяти... ну да ладно, мы тут не об этом.
В общем помимо компании nVidia, у разработчиков Doom 3 была и иная проблема, а именно отсутствие нормального стандарта API OpenGL, с нативной поддержкой всех актуальных графических технологий. Всё дело в том, что OpenGL являлся открытым стандартом, и каждый производитель мог добавлять в него функции, которые могло обеспечивать его железо - данные расширения можно определить по первым буквам NV, ATI, SGI, MTX и тд. И раз в какое-то время собирался совет и утверждал расширения тех или иных вендоров как "стандарт" и включал в состав OpenGL, данные расширения получали приставку ARB. Но то была в эпоха бурного развития 3D графики - все эти "вендорные" расширения расплодились в неимоверных количествах, и процесс согласования затягивался, ибо каждый вендор хотел видеть именно своё расширение в стандарте - ведь иное означало в лучшем случае переписывание драйверов, а в худшем создания нового железа. И естественно принимались в стандарт не лучшие во всех смыслах расширения, а расширения тех компаний, которые имели больше "веса" на рынке. Как вы уже догадались, мастером по набору такового "веса" являлся мистер Хуанг. Путём использования всех типичных рычагов конкурентной борьбы, а именно: использование инсайдерской информации, прямой подкуп, шантаж и угрозы - компания nVidia к началу 2000 годов стала наиболее "весомой" в индустрии. Возможно использовались и более экзотические, и нетрадиционные во всех смыслах методы конкурентной борьбы, но об этом у нас объективной информации нет. Впрочем, не стоит отрицать что, видеокарты и софт nVidia были достаточно качественными для своей цены, и как следствие - популярными у пользователей.
С DirectX всё было +/- так же, только там вас либо включали в стандарт, либо отбрасывали ваши расширения полностью.
На начало 2000х годов пришёлся период перехода от фиксированного конвейера рендеринга к шейдерному конвейеру, т.е. говоря по-русски - программируемому. Пионером тут собиралась стать компания 3Dfxсо своим новым чипом под кодовым именем Rampage, который должен был стать первым DirectX 8.0 видеоадаптером с Pixel Shader 1.0. Увы до релиза данная видеокарта не добралась, и первой DirectX 8.0 совместимой видеокартой стала nVidia GeForce 3 с Pixel Shader 1.1, для которой оперативно пришлось придумывать DirectX 8.0a. Далее последовали видеокарты 3Dlabs Wildcat VP с Pixel Shader 1.2, затем GeForce 4 Tiс Pixel Shader 1.3, ну и наконец ATi Radeon 8500 c Pixel Shader 1.4, которые все скопом вписали в стандарт DirectX 8.1.
В компании Microsoft матерились, а поделать ничего не могли, но обещали - в DirectX 9.0 такого не будет! Наивные...
В общем как видите бардак был везде, что касается OpenGL, то полноценная поддержка шейдеров там планировалась к появлению в версии 2.0, однако хоть она и была анонсирована ещё в 2002 году, до релиза она добралась лишь в сентябре 2004 года, т.е. через месяц после выхода Doom 3. Ну а коли не было единого стандарта, то разработчикам Doom 3 пришлось очень сильно постараться дабы заставить работать свою игру на всём том разнообразии железа, которое присутствовало на рынке - зачастую переписывая по нескольку раз те или иные участки кода в соответствии с изменениями происходившими в OpenGL 1.2-1.5. Это вылилось по итогу в наличия аж 7ми версий рендера внутри игры (это из тех что достоверно известны, в теории существует вероятность, что их может быть или было на каком-то этапе - больше), с оптимизациями под различные видеокарты:
ARB2 - актуальны OpenGL рендер без вендорных расширений.
ARB - устаревший OpenGL рендер без вендорных расширений.
R200 - ARB рендер + вендорные расширения под чип ATi Radeon 8500 и его производные.
NV20 - ARB рендер + вендорные расширения под чип nVidia GeForce 3 и 4Ti.
NV10 - ARB рендер + вендорные расширения под чип nVidia GeForce 4MX.
Cg - экспериментальный рендер под чипы nVidia FX.
Exp - некий экспериментальный рендер, неизвестного назначений.
Таково было количество рендеров в игре на момент релиза, и игра исходя из того какая используется видеокарта, автоматически выбирала наиболее подходящий, по её мнению, рендер.
Собственно, сегодня мы и выясним, а какие версии рендера у нас игра использует на относительно современных видеокартах поколения DirectX 10+ и OpenGL 3.0+ под Windows 10. А потом глянем как она себя ведёт с актуальными на момент её выхода видеокартами под Windows XP.
Смена рендера осуществляется командой - r_render (best, arb2, arb, r200, nv20, nv10, cg, exp), как вы уже, наверное, догадались при выборе значения best, игра автоматически выбирает наиболее подходящий, по её мнению, рендер для установленной в данный момент видеокарты. Если же по мнению игры выбранный вами рендер данной видеокартой не поддерживается, то она применяет значение best - выбирая рендер в автоматическом режиме.
Более никакие настройки не трогались, не изменяла ли их игра по своему усмотрению - вопрос открытый и требует дополнительных исследований.
Сама идея данного тестирования у меня возникла в ходе написания статей с обзорами видеокарт тех лет, где мною был замечен явный перекос показателей в сторону карт на чипах nVidia. И дабы понять для себя в чём причина - всё это и было затеяно.
В общем поехали, первые тесты на Intel Core 2 Quad Q8300 2.5GHz, 4Gb DDR2-800 и Windows 7.
Видеокарты Intel GMA X4500, nVidia GTS 250 1Gb GDDR3 и AMD Radeon HD3870 512Mb GDDR4.
Тестировать всё будем в 1024x768 на максимальных доступных из меню настройках, без сглаживания и вертикальной синхронизации.
На Intel у нас доступны рендеры ARB2 и ARB, на AMD плюсом доступен рендер R200, а на nVidia плюсом два рендера NV20 и NV10. Карт у нас немного, так что сведу всё в один график.
Вот такие у нас интересные результаты. Собственно, моя теория о ошибочности моей методике тестирования видеокарт не совсем подтвердилась, ибо всем более-менее современным видеокартам Doom 3 автоматически выставляет рендер ARB2, а, следовательно, такая огромная разница в результатах между GeForce GTS 250 и Radeon HD3870 объясняется плохой оптимизацией архитектуры видеокарт ATi/AMD под OpenGL без вендорных расширений. О причинах и предпосылках данного явления я уже достаточно написал выше. Характерно, что при использовании R200 рендера с вендорными расширениями у видеокарты Radeon HD3870 есть большой прирост в производительности относительно ARB рендера без таковых расширений.
Данных тестов мне оказалось мало, и меня уже было не остановить - так что продолжим:
Теперь тестируем на Intel Pentium 4HT 2.8GHz (Prescott), 1Gb DDR-400 под Windows XP.
Видеокарты ATi: Radeon 7000 64Mb 64bit, Radeon 9200 64Mb 128bit, ATI Mobility FireGL T2 128Mb и Radeon HD3450 512Mb.
Не забываем, что GPU-Z утилита косячная, и принимать на веру то, что она показывает - не надо. Ну а ATI Mobility FireGL T2 128Mb это китайский-мутант - полный аналог легендарного ATi Radeon 9600 128Mb, ток сделанный умелыми китайскими руками на базе мобильного чипа.
Видеокарты nVidia: GeForce 2 MX400 32Mb 128bit, 3 64Mb,4 MX440 64Mb 128bit, FX5600 128Mb и FX5700 128Mb.
Как видите список видеокарт у нас довольно большой, но увы далеко не исчерпывающий. Из nVidia хотелось бы поглядеть на GeForce 256 и полноценный GeForce 2, а из ATi особый интерес вызывает Radeon 7500, как старший из линейки на чипах R100. Ну и прочие видеокарты полуживых уже тогда производителей были бы интересны: Matrox Parhelia, 3Dlabs Wildcat, SIS Xabre, S3 Chrome и XGI Volari. Увы, это звери в наших краях редкие, так что имеем - что имеем.
Для различных карт по умолчанию включается оптимальные по мнению игры рендеры, а вручную задействовать можно не все, в данной таблице указано какой рендер задействовался на видеокарте при попытке сменить их вручную.
Сразу отмечу что рендеры Exp и Cg отказались работать на всех перечисленных видеокартах, с чем это связано сказать затрудняюсь - либо их в игре вырезали патчами, либо свежие драйверы видеокарт их не поддерживают, либо их вырезали ещё до релиза, либо ещё какая неведомая причина.
Графики в этот раз будут по отдельным рендерам. Тестирование производилось в разрешение 640x480 на максимальных настройках графики.
Собственно, картина особо не поменялась, карты ATi заметно отстают от карт nVidia, ну кроме FX5600, но он как бы основан на младшем чипе в линейке, а FX5700 это мидл, да ещё и существенно обновлённого второго поколения чипов GeForce FX.
А вот данный тест можно считать справедливым для всех участников, если мы говорим о действительном сравнении производительности чипов, ибо сравнение идёт с использованием одного и того же рендера. Другой вопрос - а одинаковую ли нам картинку рисуют все карты? Увы, ответа на него у меня нет - этот вопрос требует отдельного исследования, со снятием идентичных скриншотов или видео с разных видеокарт.
Использование вендорных расширений R200, даёт прирос только на старшем чипе, а вот собственно на чипе Radeon 9200 прироста нет, наоборот существенное падение относительно ARB рендера. Тут есть два вероятных ответа - либо драйверы со временем улучшили и ARB рендер стал работать нормально, либо при использовании рендера R200 у нас добавляются какие-то новые эффекты и поэтому производительность немного падает. Оба эти вопроса требуют дальнейших изысканий в будущем.
И вновь никаких преимуществ по производительности вендорный рендер NV20 не даёт.
Ситуация в целом не меняется, что ещё раз нас убеждает в необходимости сравнения качества изображения, получаемого с использованием разных рендеров.
Вот такие у нас интересные результаты, что можно тут сказать. Ну, например, как видим сравнивать напрямую видеокарты скажем Radeon 7000 и GeForce 2MX можно только вручную выбрав им рендер ARB, тоже касается сравнения Radeon 9500+ и GeForce 3/4Ti, ну и в общем вы поняли ход мысли...
Отдельно стоит вопрос о том, используются ли какие-либо вендорные расширения при использовании рендеров ARB и ARB2 - думаю этот вопрос можно достоверно исследовать, изучив исходные коды игры, которые уже давно опубликованы в свободном доступе.
Ещё один не исследованный мною вопрос - это качество картинки выдаваемой разными видеокартами при использовании одинаковых рендеров. Т.е. идентичны ли изображения, выдаваемые скажем GeForce 3 и Radeon 8500 при использовании рендера ARB, или же отличаются. Ну и заодно было бы хорошо посмотреть на то, как меняется картинка на том же Radeon 8500 при переходе с ARB рендера на "родной" рендер R200.
Как видите есть ещё огромный простор для исследований, и боюсь не всё это мне под силу будет осуществить, но, если вновь появится вдохновение - будет чем заняться на досуге.
Что касается Doom 3 Alpha(2002):
Там использовалась ранняя версия движка, основанная по большей части на Quake 3 Arena. Естественно переписано там было много чего вдоль и поперёк. Но синтаксис команд там другой, собственно касательно рендера там есть такой ряд команд:
r_useStandartGL - стандартный OpenGL, работающий в теории на всех видеокартах, имеющих драйверы с поддержкой OpenGL 1.2, у меня работал даже на RivaTNT 2, хоть и с дикими тормозами.
r_useNV20- оптимизацияпод видеокарты GeForce 3 и 4Ti.
r_useNV30- оптимизация под видеокарты GeForce FX.
r_useParhelia- оптимизация под видеокарты Matrox Parhelia
r_useGL2- оптимизация под видеокарты ATi Radeon 9500+
Как видим для полноценного тестирования нам надо где-то раздобыть Matrox Parhelia - для полноты эксперимента, ну и основательно изучить всевозможные команды для конфигурации и настройки графики в игре, ибо сделать это можно только через конфигурационный файл. Ну и по-хорошему надо заниматься пиксель-хантингом, для понимания влияния тех или иных изменений настроек на производительность и качество изображения тех или иных видеокарт. Ну, а также стоит вопрос о используемых расширениях OpenGL при тех или иных настройках. В общем там огромное не паханное поле, которое ждёт своего исследователя.
Ну и давайте бегло пробежимся по играм на движке idTech 4, которых было не сказать чтобы много, но в то же время и не так уж и мало.
Quake 4 (2005)
Официальные системные требования:
Operating System: Windows® XP
Processor: Intel® Pentium® 4 2.0 GHz or AMD® Athlon® XP 2000+ processor or higher
Memory: 512MB RAM
Hard Disk Space: 2.8GB of uncompressed free hard disk space (plus 400MB for Windows® swap file)
Video: 100% DirectX® 9.0c compatible 64MB 3D hardware accelerated video card required
Sound: 100% DirectX® 9.0c compatible 16-bit sound card and latest drivers DirectX® Version: 9.0c
Собственно, системные требования не так уж и выросли, из "потерь" мы имеем только Radeon 7000, на котором игра не запускается. И с видеокартами Radeon 8500 и их производными, есть какие-то проблемы - некоторые источники света дают фиолетовую засветку, но играть это не мешает.
Prey (2006)
Официальные системные требования:
CPU Speed: Intel Pentium 4 2.0Ghz / AMD Athlon XP 2000+ processor
RAM: 512MB system RAM
Video Card: 100% DirectX 9.0c compatible 64MB video card with latest manufacturer drivers
Drive: 8X CD-ROM (standard edition), DVD-ROM (Limited Collector's Edition)
Hard Drive: 2.2GB of uncompressed free hard drive space
Sound Card: 100% DirectX 9.0c compatible 16-bit sound card
Operating System: Microsoft Windows 2000 or XP with latest service pack installed
DirectX Version: DirectX 9.0c
В принципе особых изменений по сравнению с Quake 4 не замечено, а артефакты с освещением у Radeon 8500 и его потомков вроде как пропали, но эт не точно...
Enemy Territory: Quake Wars (2007)
Официальные системные требования:
CPU: Intel(R) Pentium(R) 4 2.8 GHz or AMD(R) Athlon(TM) XP 2800+ processor
RAM: 512MB RAM (768MB for Windows Vista)
Video Card: 128MB NVIDIA(R) Geforce(TM) 5700 or ATI(TM) Radeon(TM) 9700
Sound Card: 100% DirectX 9.0c compatible sound card
HDD Space: 5GB of free hard drive space, plus 700MB for Windows swap file
Internet: Broadband connection and service required for full gameplay and downloads.
Собственно, тут у нас разом отвалилось всё что ниже GeForce FX и Radeon 9500, т.е. видимо движок тут уже полностью переписали под OpenGL 2.0+, ибо команды по настройке и выбору рендера в игре отсутствуют полностью, как, впрочем, они отсутствуют и во всех последующих играх на движке idTech 4. Что кстати ставит перед нами вопрос о том, как изменились дела у фирмы AMD с поддержкой OpenGL после появления полноценного нового стандарта 2.0 - в будущем стоит более детально изучить этот вопрос.
Wolfenstein(2009)
Официальные системные требования:
Microsoft(R) Windows(R) XP or Windows Vista(R) (Windows 95/98/ME/2000 are unsupported)
Microsoft DirectX(R) 9.0c (included & required for Windows XP & Vista)
CPU: Intel(R) Pentium(R) 4 3.2 GHz or AMD Athlon(TM) 64 3400+ processor
RAM: 1GB RAM
Video Card: 256MB NVIDIA(R) Geforce(R) 6800 GT or ATI Radeon(TM) X800
Sound Card: 100% DirectX 9.0c compatible sound card
HDD Space: 8GB (Plus an additional 800MB for Windows swap file)
Media: 100% Microsoft Windows compatible DVD-ROM drive
Internet: Broadband connection and service required for multiplayer
Несмотря на заявленные системные требования, игра запускается на видеокартах ATi Radeon 9500+, хотя на счёт того чтоб играть - там надо минимум полноценный Radeon 9800 256Mb, а вот GeForce FX уже в пролёте целиком и полностью, игра на них не запускается в принципе.
Brink(2011)
Официальные системные требования:
Processor: Intel Core 2 Duo 2.4GHz or equivalent
Memory: 2GB RAM
Graphics: NVIDIA 8800GS / ATI Radeon HD 2900 Pro or equivalent
OS: Windows XP (SP3)/Vista/Windows 7
Hard Drive: 8GB of free space
Как видим, отвалилось всё что ниже Radeon HD и GeForce 8000, ну и для комфортной игры подходят только старшие их модели. Впрочем, для точной проверки у меня пока нет видеокарт Radeon X серии и GeForce 6000/7000, так что вопрос этот до конца не изучен.
Doom 3: BFG Edition (2012)
Официальные системные требования:
OS: Windows Vista/ Windows 7
Processor: 2.0 GHz dual core
Memory: 3 GB RAM
Graphics: NVIDIA GeForce 9800 GT / ATI Radeon HD 5750, 512 MB video RAM
Hard Drive: 11 GB
Sound: Windows compatible sound card
Требования конечно бредовые, но уж какие есть... на Radeon HD младше 5000 серии игра естественно работает, проверено лично на HD3870. Увы, более старых видеокарт, имеющих драйверы под Windows Vista/7 у меня сейчас в наличии нет, так что проверим как оно там на Radeon X1000 серии и GeForce 6000/7000 - как-нибудь в другой раз. Тестирование в данной версии провести не удалось, по причине неработоспособности стандартного метода через команду Timedemo, в будущем надо будет детальней ознакомиться с тем - есть ли в данной версии игры встроенные средства для тестирования производительности.
В общем вот такая у нас сегодня получилась, без преувеличения, гигантская статья, в которой я осветил лишь небольшую часть вопросов, связанных с игрой Doom 3 и движком idTech 4. Увы ответы на одни вопросы, породили ворох новых - на которые ещё предстоит найти ответы. Вполне возможно, что кто-то уже занимался этим до меня, или освещал те вопросы, на которые в данной статье ответов не дано. Так или иначе, надеюсь, что вам это было интересно.
Что же касается того - а стоит ли вам поиграть в Doom 3, коли вы до сих пор этого не сделали, то для этого есть три способа:
1) Если вы сдавали ЕГЭ, то просто скачайте Doom 3: BFG Edition и пройдите его, даже так вы вполне можете получить удовольствие от этого процесса.
2) Скачайте оригинал, и путём нехирых правок конфига - настройте его для работы на современных ПК.
3) Ну а для полноценного понимания игры, вам потребуется максимально мощный ПК под управлением Windows XP, оснащённый звуковой картой Creative с поддержкой EAX 4.0, соответствующая звуковая система или наушники 5.1, ну и конечно же минимум 19" CRT монитор для полноценного погружения в игру.
Только пойдя по последнему пути, вы получите право с гордостью говорить - я играл в Doom 3.
Ну а на этом у меня на сегодня всё - всем пока.