Тесты игр в 64-битной среде: стоит ли переходить?
Редакция THG,  19 марта 2009


Введение

Пять с половиной лет назад AMD представила линейку процессоров Athlon 64, превознося преимущества 64-битных вычислений и их значимость для будущего. У Intel не ушло много времени на то, чтобы последовать за AMD на рынке настольных ПК. С тех пор постепенно нарабатывалась инфраструктура (операционная система и драйверы) для поддержки все большего количества 64-битных программ.

Сегодня 64-битную совместимость воспринимают как само собой разумеющуюся. Фактически, в сфере бизнеса, где 64-битные вычисления всегда воспринимались многообещающими, появились приложения, работающие только в 64-битной среде. Даже Small Business Server 2008, окружение начального уровня для малого и среднего бизнеса до 75 пользователей, теперь может работать только в 64-битной среде из-за включения в его состав Exchange Server 2007.

Почему Microsoft пошла на такой шаг - выпуск последнего почтового сервера исключительно в 64-битном виде? Если судить по посту в блоге Криса Митчела (Chris Mitchell) из команды Microsoft Exchange Performance Engineering Team, приложение использует 64-битную адресацию, чтобы наложить свои виртуальные ручки на большее количество оперативной памяти, дабы избежать лишних обращений к жёсткому диску. В примере Криса старая версия Exchange имела доступ к 900 Мбайт из потолка 4 Гбайт 32-битного сервера. В корпоративном окружении с 4000 пользователей это означает 225 кбайт на человека - маловато для всех сообщений, правил, событий календаря и контактов в типичном почтовом ящике. Переход на 64-битную платформу и оснащение сервера десятками гигабайт памяти (рекомендации Криса для того же предприятия на 4000 пользователей составляют 24 Гбайт) снижает нагрузку на дисковую подсистему.

Но у настольных компьютеров таких объёмов памяти нет, не так ли? Мы ожидаем, что 64-битные вычисления придут к нам из корпоративного сектора, но геймеры хотят знать: есть ли сегодня преимущества от 64-битных технологий?

64-битные вычисления

Нажмите на картинку для увеличения.

Переходим на 64 бита

Энтузиасты с платформами Socket AM2/AM2+ обычно используют наборы памяти на 2 или 4 Гбайт. Действительно, память DDR2 сегодня дешёвая, а 4 Гбайт всё ещё достаточно для энтузиаста - объём 8 Гбайт всё же ближе к рабочей станции.

Но если вы покупаете систему на основе Core i7 с трёхканальной конфигурацией памяти, то вряд ли имеет смысл откатываться назад и устанавливать три 1-Гбайт модуля. То есть остаётся вариант 6 Гбайт, что заставляет переходить на 64-битные вычисления, если вы хотите использовать весь этот объём памяти.

Да, вы правы - мы почти забыли. Если вы находились в глухой сибирской деревне после начала рекламы 64-битных вычислений со стороны AMD, то фундаментальное ограничение кроется в памяти, которую может использовать 32-битная ОС - не больше 4 Гбайт (232). Вся память выше этого объёма просто не будет видна системе и приложениям.

Если же учесть адресацию устройств, то значение памяти будет ниже 4 Гбайт. Именно поэтому 32-битные системы с 4 Гбайт физической памяти отображают несколько больше 3 Гбайт памяти в Windows Device Manager. Но это не проблема Windows. Просто архитектура x86 так работает.

Небольшое уточнение: проблема в том, что ОС не может получить полный объём памяти 4 Гбайт под потребительскими ОС Microsoft связана и с производителями "железа". Под 32-битными системами Windows, подобными XP или Vista, возникают проблемы совместимости со старыми чипсетами, о чём говорится, например, в данном документе HP. И с драйверами многих устройств.

Конечно, уже давно были найдены решения, позволяющие использовать эту потерянную память. Технология Intel Physical Address Extensions поддерживает 36-битную физическую адресацию, которая помогает в серверных окружениях, увеличивая максимальный объём памяти до 64 Гбайт. Однако, если верить презентации Чака Валборна (Chuck Walbourn), разработчика программного обеспечения из Microsoft XNA Developer Connection, которую он показал на Gamefest 2008, технология PAE так никогда и не была реализована должным образом у настольных операционных систем, а это необходимо для привязки 4-Гбайт виртуального адресного пространства к большему физическому объёму памяти. Основной проблемой, как отметил Чак, являются драйверы. Да и существуют проблемы с приложениями, которые рассчитаны на работу с 32-битной адресацией, а не с 36-битной.

Кроме 32-битных физических адресных линий, вы также ограничены и 32-битным виртуальным адресным пространством. Поскольку один бит зарезервирован для общей памяти ядра (используется всеми процессорами и операционной системой), то отдельные приложения получают доступ к, максимум, 2 Гбайт памяти для себя. В общем, одно ограничение накладывается на другое, так что у настольных компьютеров не так всё просто. Но дают ли 64-битные вычисления какую-либо существенную разницу по производительности? Именно это мы и хотим выяснить.

Много памяти не бывает

Если вы хотите перейти на 64-битную платформу, то вам потребуются 64-битный процессор на материнской плате с соответствующей поддержкой BIOS (сегодня это встречается практически повсеместно), 64-битная ОС вместе с набором 64-битных драйверов, после чего теоретический потолок памяти увеличивается до впечатляющих 16 экзабайт памяти - 17,2 млн. гигабайт. Впрочем, на практике ограничения процессоров, чипсетов и материнских плат намного ниже и привычнее, даже в 64-битном ограничении. Большинство материнских плат на X58, которые мы недавно тестировали, поддерживают, максимум, 24 Гбайт памяти DDR3.

Кроме увеличения физического объёма доступной памяти, переход на 64 бита также увеличивает виртуальное адресное пространство, которое в 32-битных окружениях было очень сильно ограничено.

Тип приложения Виртуальное адресное пространство
Стандартное 32-битное 2 Гбайт
Large Address Aware 32-битное 4 Гбайт
"Родное" 64-битное 8 Тбайт

Как видно в таблице, запуск 32-битного приложения под 64-битной ОС всё равно будет ограничивать его виртуальное адресное пространство 2 Гбайт (кстати, большинство игр по-прежнему существуют только в 32-битных версиях, включая многие игры, которые мы используем для тестов). Приложения, написанные с учётом большого адресного пространства (с флагом /LARGEADDRESSAWARE) поддерживают до 4 Гбайт без какого-либо специального режима загрузки. А "родные" 64-битные приложения получают до 8 Тбайт адресного пространства - и Microsoft утверждает, что может увеличивать это число при необходимости, не влияя на работу ОС или приложений.

Желание уйти от игр первого типа, то есть от стандартных 32-битных, сильное и настойчивое. Проблемы с адресным пространством существовали ещё до того, как 64-битное окружение стало распространяться повсеместно. Мы помним, как во время интенсивной игры на карте Command and Conquer: Generals с восемью пользователями приложение выдало ошибку о нехватке адресного пространства и свернулось. Это было ещё где-то в 2004 году. Наши коллеги в AnandTech описали схожую ситуацию, которую они испытали с игрой Supreme Commander в 2007 году. Учитывая известную проблему ограничений адресного пространства, вы, наверное, подумали, что игровые разработчики хотели бы перейти на 64-битное окружение ещё вчера?

Пара 64-битных игр в качестве примера

Во время подготовки этого материала мы провели обширные поиски, расспрашивая производителей "железа" и разработчиков программ, чтобы найти игры, специально написанные для 64-битного окружения в "родном" режиме. Выплыло только две игры: Crysis и Hellgate: London (Far Cry со временем получил патч с поддержкой "родного" 64-битного режима, как и Half-Life 2). Что интересно, обе эти игры привёл Чак Валборн во время своей презентации на Gamefest 2008, описывая препятствия и преимущества, которые стоят перед игровыми разработчиками на пути перехода к 64-битным вычислениям.

По информации Валборна, самой большой победой Crytek стал 64-битный редактор уровней Crysis, который обеспечил существенную разницу в художественном оформлении игры. Когда разработчики начали работать в первоначальном 32-битном редакторе, то столкнулись с проблемами стабильности при достижении порога адресного пространства около 1,7 Гбайт. Затем они использовали флаг /LARGEADDRESSAWARE в 64-битном окружении, что позволило увеличить порог до 2,7 Гбайт до появления старых проблем. В итоге 64-битный редактор стал просто необходимостью, чтобы Crytek смогла дать тот уровень деталей, который вы видите в игре. Кстати, 32-битная однопользовательская игра очень близко подходит к порогу стабильности, который мы описали выше касательно опыта с Command and Conquer.

Мы вскоре перейдём к тестам Crysis, но перед тем, как начать оценку результатов производительности, упомянем прогноз Валборна: производительность 32- и 64-битных версий игр Crytek должна быть сравнимой, поскольку разработчик не прикладывал больших усилий к оптимизации игры под 64-битное окружение. Однако при самом высоком уровне качества, когда 32-битная версия подходит к своему порогу стабильности, 64-битный исполняемый файл обладает большим объёмом оставшегося виртуального адресного пространства. Конечно, при данных настройках качества сложно получить приемлемую игровую производительность, то есть большинство геймеров всё равно немного ослабит настройки, независимо от рабочего окружения.

Вторая игра под названием Hellgate: London является ролевой (RPG) и вышла на рынок ещё в октябре 2007 года. Но играть в неё в однопользовательском режиме всё ещё интересно. Однако многопользовательские серверы игры, которые сами являлись 64-битными, были выключены в январе этого года. Кроме 64-битных игровых серверов, у Hellgate был "родной" 64-битный клиент, позволявший обойти ограничение по виртуальному адресному пространству 2 Гбайт.

Как и в случае Crytek и Crysis, Flagship Studios столкнулась с проблемами при разработке Hellgate с амбициозными планами касательно поддерживаемого "железа". Игра вышла с исполнительными файлами .exe под DirectX 9 и DirectX 10, в одно- и многопользовательском режиме, с 32- и 64-битными .exe, что привело к необходимости поддерживать восемь вариантов. Кроме того, возникли и проблемы со вспомогательным ПО, которые сегодня уже встречаются реже. Например, "родная" 64-битная защита от копирования стала проблемой для Crytek и Flagship, поскольку 64-битные процессы могут загружать только 64-битные DLL, которые не были доступны во время разработки.

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

Презентация Валборна на Gamefest заканчивалась тремя выводами.

  • Разработчикам ПО рекомендуется переводить среду разработки на 64 бита для получения дополнительной памяти во время процесса создания контента.
  • По крайней мере, следует использовать ключ /LARGEADDRESSAWARE для получения дополнительного адресного пространства виртуальной памяти при работе 32-битных игр в 64-битном игровом окружении.
  • Начните использовать 64-битные инструменты разработки - это станет довольно важным шагом для работы с предоптимизированным контентом, который сможет уместиться в рамках 2 Гбайт у 32-битных платформ.

Насколько хорошо были услышаны слова Чака?

Интервью с Чаком Валборном (Chuck Walbourn)

Чтобы получить представление о том, где мы находимся сейчас по сравнению со временем, когда Чак Валборн из Microsoft представил на Gamefest две своих презентации, мы решили встретиться с Чаком и задали ему немало вопросов, касающихся игр в 64-битном окружении. Если вы владеете английским, мы рекомендуем ознакомиться со статьёй Чака для Gamasutra, где он затронул игры, память и 64-битные вычисления, что совпадает с темой нашей статьи.

THG. Во время подготовки тестов для данной статьи мы обратили внимание на очень маленькое влияние на производительность перехода с 32-битного на 64-битное окружение. В чём причина?

Чак Валборн. Мы подходим к фундаментальной проблеме 64-битной технологии x64: она не столько работает быстрее, сколько даёт новые сценарии без ущерба производительности при работе 32-битных приложений. Это важный фактор для перехода. Технология x64 "просто работает", то есть вам не придётся ничем жертвовать, чтобы получить 64-битные возможности. Технически вы отказываетесь только от "родного" выполнения 16-битного кода, когда ваш процессор работает в 64-битном режиме (так происходит в случае Windows x64), но этот компромисс был сделан для производителей "железа", чтобы ограничить совместимость со старым кодом, который идёт ещё со времён Windows 3.1.

THG. Насколько оправдано увеличение памяти в моей системе, если я игровой разработчик?

Чак Валборн. Самой важной причиной для перехода на ОС x64 является поддержка большего количества памяти. Как я уже упомянул в статье Gamasutra, если в вашей системе установлено 4 Гбайт или больше памяти, вы будете терять возможности "железа", если у будет работать не-x64 ОС. Это проявляет себя многими способами даже при повседневной работе: у 64-битных систем вы получите больший файловый кэш и одновременный запуск большего числа процессов (это важно, в частности, если ваша система оснащена мощным четырёх- или восьмиядерным процессором). Мы видели немало примеров, когда игровые разработчики усиленно переходят на x64 по этой причине, даже если они не собираются разрабатывать "родные" 64-битные приложения. Восьмиядерная машина с 16 или 32 Гбайт памяти под Windows Vista x64 может легко справляться с разными сборками кода под многопоточным окружением. DICE, Epic, Valve, Crytek, Starbreeze и другие игровые разработчики уже стандартизируют для разработки машины x64, чтобы использовать больший объём памяти, особенно с учётом быстрого падения цен на память для таких конфигураций.

Как только 64-битные возможности будут всегда под рукой, то всё станет намного более интересным.

THG. Один из ваших призывов к действию заключался в использовании, по крайней мере, ключа /LAA. Можете ли вы сказать, кому был полезен ваш совет, и кто ему последовал?

Чак Валборн. У нас есть ключ "Large Address Aware" уже несколько лет, но его использование всегда было ограничено некоторыми хардкорными техническими сценариями, поскольку даже загрузка 32-битной ОС, чтобы вы смогли выиграть от его использования, довольно хитра. Ключевым моментом моего доклада на Gamefest 2007 было то, что Windows x64 делает функцию "Large Address Aware" потенциально безболезненным сценарием для пользователей, если у них работает окружение Windows x64. Конечно, для разработчика использование LAA таит множество "подводных камней", особенно применительно к сторонним библиотекам и наследственному коду, да и приложение получит всего 4 Гбайт адресного пространства вместо полных 8 Тбайт. Впрочем, это всё равно весьма полезная промежуточная технология, которая разрешает вашим существующим 32-битным приложениям выйти за порог 2 Гбайт, что позволяет дать системам на Windows x64 текстуры с большей детализацией, большими кэшами потоковых данных или любым другим, что не умещается в ограничения стандартных 32-битных приложений.

Что касается игровых разработчиков, то они уже упёрлись в ограничения 2 Гбайт при создании контента. Для игры Crysis разработчику Crytek пришлось писать "родной" 64-битный редактор, чтобы создавать уровни, которые смогли бы полностью заполнить 2 Гбайт доступной памяти для стандартных приложений с полной оптимизацией, но которые попросту не умещались в редакторе, запущенном как стандартное 32-битное приложение. Разработчик Flagship Studios довольно активно использовал "родные" серверы x64, что позволило этим процессам стать более устойчивыми к фрагментации памяти. Компоновщик Visual Studio уже несколько лет поддерживает LAA, и, используя его под системой Windows x64, разработчики могут компоновать большие монолитные игровые .exe с большей оптимизацией, чем в противном случае. Мы встречались с использованием LAA в комбинации с Windows x64 и в других инструментариях, да и некоторые разработчики теперь переходят под "родные" 64-битные версии. Сегодня уже достаточно много привлекательных преимуществ, чтобы студии разработки перешли на x64. Утилиты с поддержкой LAA и конвейеры контента, плюс сильное давление со стороны приложений по созданию цифрового контента, таких как 3ds Max, Maya, SoftImage с "родной" поддержкой x64, всё это говорит о том, что 64-битные вычисления стали критичными, даже для выпуска игр под существующие платформы, такие как 32-битный ПК, Xbox 360 и т.д.

Если же говорить про игры с поддержкой LAA, то таких сегодня много. Если вы поищите в Интернете, то большое количество энтузиастов изменяет существующие игры для поддержки LAA, чтобы они работали более стабильно с крупными модами. Некоторые игры в форумах поддержки рекомендуется запускать под Windows x64, чтобы решить проблемы стабильности в длительных игровых сеансах, на сложных уровнях и т.д. 32-битное ограничение в 2 Гбайт является серьёзной головной болью игровой индустрии уже несколько лет, поэтому причин для перехода за его пределы множество. LAA под Windows x64 даёт некоторый "глоток свободы", и, что более важно, геймеры получают достойную причину для перехода на 64-платформы вычисления ещё до того, как 64-битные игры станут распространёнными.

THG. Какие преимущества получают геймеры?

Чак Валборн. Для потребителей 4, 6 или 8 Гбайт памяти сегодня обходятся дёшево. И без Windows x64 вам придётся довольствоваться всего около 3 Гбайт памяти. Конечно, число "родных" игр x64 сегодня невелико, но ускорение на рынке Windows x64, усиленное объёмами устанавливаемой памяти, делает его более интересным со временем. Игры с поддержкой LAA на данный момент более стабильно работают под Windows x64, поскольку они получают намного большую свободу по сравнению с очень жёстким ограничением памяти в 2 Гбайт у современных игр класса AAA. Но разработчики тоже могут давать больше контента в таких ситуациях, если достаточное число пользователей будут обладать системами с поддержкой x64.

Недавние исследования показывают серьёзное увеличение систем Windows x64, да и разработчики игр уже некоторое время хотят избавиться от головных болей с ограничением в 2 Гбайт. На современном рынке сложно продавать "родную" 64-битную игру только в версии x64, а создание двух версий, 32- и "родной" 64-битной, сегодня сопряжены с большей работой и риском, чем многие команды разработчиков готовы взять на себя. Но с каждым годом игровой контент становится более детализованным, и если вы хотите, чтобы ваша игра выделялась среди других, то нужно быть на передовой индустрии. Сегодня игровая индустрия использует всё больше сторонних решений middleware для своих продуктов, и довольно сложно привлечь все эти сторонние компании к "родной" поддержке x64. Но и этот процесс тоже ускоряется, что сыграет на руку многим разработчикам, которым сегодня приходится разделяться между написанием собственных технологических решений с "родной" поддержкой x64, либо выпускать игру вовремя.

THG. Когда мы увидим переход к выпуску и продаже большего числа игр с "родной" поддержкой 64-битных вычислений? Что они смогут дать по сравнению с 32-битными версиями, существующими сегодня?

Чак Валборн. Игр с "родной" поддержкой x64 сегодня немного, причём многие из них дают такую поддержку только на начальном уровне. Мы слышали о том, что ряд студий разработчиков используют "родные" сборки x64 для внутренних тестов игры во время разработки, но издатели не желают тратиться на тестирование и поддержку 64-битных версий на данный момент. Когда мы подойдём к моменту, в котором разработчики и издатели действительно начнут фокусироваться на выпуске "родных" 64-битных игр, то можно будет ожидать улучшений производительности, которые можно достигнуть благодаря большему количеству регистров, лучшему использованию SSE2 SIMD, более агрессивному распределению памяти подсистемы ввода/вывода и существенно большему контенту. На данный момент важным событием является переход за 2-Гбайт барьер, после чего мы уже увидим существенные победы по производительности из-за программной оптимизации.

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

Изменение игры для поддержки LAA

Во время разговора с Чаком, он упомянул существование энтузиастов, модифицирующих исполняемые файлы игры, добавляя флаг /LARGEADDRESSAWARE. Последний позволяет повысить стабильность 32-битного приложения, которое в стандартном виде часто "вылетало". Именно такой подход мы встречали несколько раз в форумах поддержки, где он даётся в качестве возможного решения для запуска 32-битных игр без стандартной поддержки LAA под 64-битной версией Windows. Среди игр, которые выигрывают от такого шага, можно упомянуть Stalker, Battlefield 2, Battlefield 2142, Supreme Commander, Company of Heroes и Gothic 3. Если у вас используется 32-битная операционная система, вы будете сталкиваться с ошибками выделения виртуального адресного пространства другого рода, поэтому здесь мы приведём решения для 64-битных окружений. В любом случае, и для 32-битных систем тоже есть выход, если запускать их с ключом /3GB.

Нет никакой гарантии, что подобные решения исправят проблемы со стабильностью, с которыми вы можете сталкиваться, поэтому мы рекомендуем их только продвинутым пользователям. С учётом всего сказанного, мы также встречали немало сообщений об успешном устранении ошибок. Поэтому мы всё же советуем попробовать решение, которое Чак подразумевал под изменением текущих игр для добавления LAA, особенно если вы подключаете большие моды.

Начните со скачивания Visual C++ 2005 Express Edition по этой ссылке. Почему мы не использовали версию 2008? По простой причине: она не установилась на нашей 64-битной версии Vista Ultimate. И хотя версия 2005 Express Edition тоже выдавала ошибки с совместимостью, она заработала нормально.

Затем нужно запустить командную строку Visual Studio (убедитесь, что вы входите под административной учётной записью), которая присутствует в группе Visual Studio Tools меню "Start/Пуск".

Перейдите в папку с игрой, которую вы пытаетесь модифицировать. На нашем примере мы изменяли игру World in Conflict. Как правило, вам нужно перейти в каталог с файлом, который "вылетает" из-за ограничения виртуального адресного пространства 2 Гбайт.

64-битные вычисления

Нажмите на картинку для увеличения.

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

Синтакс команды следующий.

Editbin.exe /LARGEADDRESSAWARE xxx.xxx

где xxx.xxx - имя файла, который вы пытаетесь изменить (wic.exe на приведённом примере). Нажмите "Enter", после чего вы увидите две строчки, говорящие об успешном выполнении операции.

Тестовая конфигурация

Чтобы внимательно оценить эффект работы игры в 64-битном окружении, мы взяли три разных программных платформы, все на основе Core i7 965 Extreme. Одна платформа работала под 32-битной версией Vista Ultimate с 3 Гбайт памяти. Вторая - под 64-битной версией Vista Ultimate с 3 Гбайт памяти. И третья - под 64-битной версией Vista Ultimate с 6 Гбайт памяти.

Цель заключалась ещё и в оценке пользы от добавления памяти. Кстати, вскоре мы выпустим отдельную статью, посвящённую масштабируемости в зависимости от объёма памяти. Здесь же мы просто взяли три конфигурации, чтобы проанализировать изменение производительности при изменении одного параметра. Переход с 32-битной системы с 3 Гбайт сразу на 64-битную с 6 Гбайт затруднил бы поиск причины изменения производительности.

Тестовое аппаратное обеспечение
Процессор Intel Core i7 965 Extreme (Bloomfield) 3,2 ГГц, 6,4 GT/s, 8 Мбайт кэша L3, технологии энергосбережения выключены
Материнская плата Asus P6T (X58/ICH10)
Видеокарта Zotac GeForce GTX 260 Core 216
Память Corsair Dominator 6 Гбайт (3 x 2 Гбайт) DDR3-1600 8-8-8-24 @ 1066 МГц / 7-7-7-20
Qimonda 3 Гбайт (3 x 1 Гбайт) DDR3-1066 7-7-7-20
Жёсткий диск Western Digital VelociRaptor 300 Гбайт, 10 000 об/мин, SATA 3 Gb/s
Блок питания Cooler Master UCP 1100 Вт
Кулер CPU Thermalright Ultra 120 Extreme
Системное ПО и драйверы
Операционная система Microsoft Windows Vista Ultimate Edition x64 Service Pack 1
Microsoft Windows Vista Ultimate Edition x32 Service Pack 1
Графический драйвер Nvidia GeForce 182.08

Конфигруация тестов
World in Conflict Very High Quality Settings, No AA / No AF, vsync off, 1680x1050/1920x1200, Patch 1009, DirectX 10
Very High Quality Settings, 4x AA / 16x AF, vsync off, 1680x1050/1920x1200, Patch 1009, DirectX 10
Far Cry 2 High Quality Settings, No AA / No AF, vsync off, 1680x1050/1920x1200, Steam Version
High Quality Settings, 4x AA / No AF, vsync off, 1680x1050/1920x1200, Steam Version
Crysis High Quality Settings, No AA / No AF, vsync off, 1680x1050/1920x1200, Patch 1.2.1, DirectX 10, 64-bit/32-bit Executable
High Quality Settings, 4x AA / No AF, vsync off, 1680x1050/1920x1200, Patch 1.2.1, DirectX 10, 64-bit/32-bit Executable
Left 4 Dead Highest Quality Settings, No AA / No AF, vsync off, 1680x1050/1920x1200, DirectX 10, Steam Version
Highest Quality Settings, 4x AA / 8x AF, vsync off, 1680x1050/1920x1200, DirectX 10, Steam Version
Grand Theft Auto IV Highest Quality Settings, No AA / "High" AF, vsync off, 1680x1050/1920x1200, Patch #2
Highest Quality Settings, 4x AA / "High" AF, vsync off, 1680x1050/1920x1200, Patch #2
3DMark Vantage Performance Default, High Quality

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

Crysis: производительность в "родном" 64-битном режиме

Да, мы вы курсе, что эта игра не самая новая. Однако Crysis по-прежнему даёт серьёзную нагрузку даже на самые быстрые системы. Поскольку игры с "родной" поддержкой 64-битного режима можно пересчитать по пальцам, мы не хотели упускать ни одну из них.

Crysis: производительность в

Crysis: производительность в

Здесь мы наблюдаем очень небольшую разницу в производительности, за исключением того, что 32-битная версия игры чуть быстрее работает в разрешении 1920x1200. В остальном результаты очень близки.

Впрочем, мы не были удивлены. Как упомянул Валборн из Microsoft в своём интервью, сегодня вряд ли стоит ожидать каких-либо оптимизаций, увеличивающих производительность в 64-битном режиме. Что более интересно, переход с 3 на 6 Гбайт памяти никак не сказывается на частоте кадров.

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

World In Conflict: добавляем минимальную частоту кадров

Игра World in Conflict всегда была довольно стабильным средством измерения производительности, причём встроенный тест сообщает минимальную, максимальную и среднюю частоту кадров. Но давайте сначала взглянем на результаты усреднённой частоты кадров.

World In Conflict: добавляем минимальную частоту кадров

World In Conflict: добавляем минимальную частоту кадров

Как мы уже видели в Crysis, результат средней частоты кадров практически идентичен во всех случаях, независимо от объёма памяти или рабочего окружения. Скорее всего, в данном случае мы упираемся в графическую производительность, а не в память или CPU. Именно поэтому единственным способом изменить производительность в ту или иную сторону является переход на другое разрешение или настройки качества.

В разрешении 1920x1200 на 64-битных платформах с 3 и 6 Гбайт памяти мы получили одинаковое значение минимальной частоты кадров 30 fps. А в разрешении 1680x1050 система с 3 Гбайт дала 31 fps, а с 6 Гбайт - 27 fps. Но давайте посмотрим на результаты более современной игры Far Cry 2.

Far Cry 2

Конечно, частота кадров здесь падает не так сильно, как в Crysis, но Far Cry 2 всё ещё весьма требовательная игра.

Far Cry 2

Far Cry 2

Мы не обнаружили ощутимых отличий в Far Cry 2 с 3 Гбайт установленной памяти, независимо от рабочего окружения. Переход на 6 Гбайт дал немного скорости, но разница минимальна.

Grand Theft Auto 4

Мы получили много просьб добавить игру Grand Theft Auto 4 в наш тестовый пакет, и эта игра выступает в наши тестах в первый раз. Возможно, в последний. Как мы уже говорили раньше, когда nVidia уговорила нас взглянуть на игру Dead Space, порты с приставок на ПК страдают из-за ужасных опций конфигурации и управления пользовательским интерфейсом. И мы даже не начали разговор об обязательном запуске приложения Social Club, которое постоянно болтается в фоне.

В недавнем исправлении Rockstar многое поправила в оригинальной Grand Theft Auto 4, предоставив возможность более тонко менять настройки графики, а также отключать vsync. Однако игра по-прежнему использует собственный движок рендеринга, который не поддерживает сглаживание. Возможно, когда вы смотрите на экран телевизора с расстояния три метра, проблем это не вызывает, но на мониторе высокого разрешения "лесенки" слишком заметны. Чтобы полностью удостовериться, мы принудительно включили сглаживание через панель драйвера nVidia, но вновь убедились, что не получаем никакой визуальной отдачи от этого.

Grand Theft Auto 4

Grand Theft Auto 4

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

Первое, и самое главное, на розничной упаковке Grand Theft Auto 4 упомянута поддержка многоядерных процессоров и 64-битных вычислений. Что ж, если сравнивать две 3-Гбайт конфигурации, то мы видим, что переход на 64 бита снижает производительность, а не увеличивает её. Честно говоря, было бы интересно узнать, что в этой игре подразумевается под 64-битной оптимизацией.

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

Left 4 Dead

Left 4 Dead

Left 4 Dead

Повторим то, что мы уже видели в Grand Theft Auto: переход на 64-битную платформу привёл к падению производительности в Left 4 Dead в обоих разрешениях 1680x1050 и 1920x1200. Только при переходе на 6 Гбайт памяти скорость восстанавливается - хотя игра на платформе с 6 Гбайт работает ничуть не быстрее, чем с 3 Гбайт в 32-битной конфигурации.

3DMark Vantage

3DMark Vantage

3DMark Vantage

3DMark Vantage

Синтетические тесты известны тем, что они демонстрируют сильные и слабые стороны, которые не видны в реальных приложениях. Но единственным интересным результатом здесь стал тест CPU, где 64-битная конфигурация с 6 Гбайт памяти дала прирост производительности по сравнению с обеими системами с 3 Гбайт.

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

Заключение

Конечно, тестирование 64-битных платформ против 32-битных аналогов в нескольких игровых сценариях мы проводили и раньше. Мы выполняли подобные тесты ещё в момент выпуска Crysis и даже раньше, в 2005 году, когда AMD выпустила патч, добавляющий поддержку 64-битных вычислений к Far Cry. Интересно, однако, к чему мы пришли (или не пришли) в отношении "родной" поддержки 64-битных вычислений в современных играх.

Учитывая результаты тестов, мы не были удивлены. За исключением Grand Theft Auto, ни одна из протестированных игр не показала сколько-нибудь заметного прироста.

Но это и следовало ожидать, учитывая уже опубликованные в Интернете данные о производительности, которые подтверждали производители "железа" и программного обеспечения, с кем нам довелось пообщаться. Магия 64-битных вычислений пока не сказывается на производительности. Что действительно интересно, так это то, как она влияет на игры во время их разработки, а также на стабильность игр в руках геймера. Конечно, вы наверняка помните, что 32-битные приложения без ключа /LAA ограничены 2 Гбайт виртуального адресного пространства, причём даже в 64-битном окружении. Но мы видели много примеров, как технически продвинутые геймеры модифицируют исполняемые файлы игр, чтобы включить поддержку большего адресного пространства с ключом /LAA.

Переход на 64-битные вычисления оказался неспешным, да и сегодня он идёт с трудом. По информации Терри Македона (Terry Makedon), главы программного подразделения AMD, только чуть больше девяти процентов Catalyst Control Center скачивается в 64-битном варианте. Так что аудитория геймеров с 64-битными системам всё ещё слишком мала. Однако, по мере падения цен на память, 4 Гбайт становятся уже стандартом для массовых компьютеров, а для полного использования такого объёма необходима 64-битная операционная система.

По мере ускорения перехода на 64 бита всё большее число игровых разработчиков будут предлагать продукты с "родной" поддержкой x64. На данный момент, если верить Чаку Валборну из Microsoft, увеличение производительности от такого шага нам ещё предстоит увидеть благодаря большему количеству регистров, лучшему использованию SSE2 SIMD, более агрессивному распределению памяти подсистемы ввода/вывода и существенно большему контенту.

Итог таков: на современных играх вы не увидите сколько-нибудь значимого увеличения производительности от перехода на 64-битные вычисления. Но если вы учтёте, что лицензия 32-битной "коробочной" Vista уже позволяет устанавливать её 64-битную версию; память сегодня стоит дешевле, чем когда-либо; для полного использования 4 Гбайт памяти нужна 64-битная ОС и что даже 32-битные игры могут выигрывать от дополнительной памяти и флага /LAA, то переход на 64-битную операционную систему окажется и не таким сомнительным.

Напоследок поделимся нашими планами. Многие из наших нынешних тестов уже выполняются в 64-битном окружении, но в ближайшие недели вы увидите наш обновлённый пакет тестовых приложений, где мы будем по максимуму использовать 64-битные версии.

КОНЕЦ СТАТЬИ


Координаты для связи с редакцией:

Общий адрес редакции: thg@thg.ru;
Размещение рекламы: Roman@thg.ru;
Другие координаты, в т.ч. адреса для отправки информации и пресс-релизов, приглашений на мероприятия и т.д. указаны на этой странице.


Все статьи: THG.ru

 

Rambler's Top100 Рейтинг@Mail.ru