Unreal Tournament 2003 у ролі бенчмарку
Вбудований тестовий інструментарій
Для початку розглянемо, що увійшло до складу вбудованого бенчмарку, а потім перейдемо до процедури тестування за допомогою створеної сайтом [H]ardOCP пакетної утиліти.
Як ви вже помітили, файл benchmark.exe знаходиться у каталозі C:UT2003System. Після запуску програма пропонує вибрати зі списку значення дозвіл, на якому будуть проводитися тести, після чого будуть виконані два flyby-тести та два bot-матчі і по кожному буде виведено середній результат.

При кожному запуску benchmark.exe використовує одні й ті ж налаштування якості, тому результати flyby-тестів, отримані в різних системах, постійні. Для виконання тестів програма benchmark.exe використовує файли налаштувань MaxDetail.ini, MinDetail.ini, MaxDetailUser.ini та MinDetailUser.ini із каталогу C:UT2003BenchmarkStuff. Значення параметра MinDesiredFrameRate постійно і дорівнює 35FPS, хоча, як з'ясувалося, бенчмарк, що запускається з ключем -benchmark, ігнорує значення параметра MinDesiredFrameRate, тому результати тестів він ніяк не відбивається. Ця програма дуже корисна для проведення швидких flyby-тестів та зіставлення результатів, але вона не дає багатьох можливостей налаштувань, істотних для тестування.
Вдаємося до старого перевіреного методу – пакетних скриптів. У каталозі C:UT2003Benchmark є набір готових пакетних скриптів - сім скрипт-файлів для запуску botmatch-тестів та сім для flyby-тестів. Як уже зазначалося, botmatch-тести ми проводити не будемо, а відразу перейдемо до flyby-тестів. Тести проводилися з картами Antalus, Asbestos, Citadel, Face3, Inferno, Phobos2 та SunTemple. Як еталонні benchmark.exe використовує flyby-карти Antalus і Asbestos. Запуск пакетних скриптів для порівняння продуктивностісеми, а не двом, карт має очевидні переваги. А тепер заглянемо всередину одного із пакетних скриптів. Відкриваємо файл flyby-antalus.bat і бачимо таке:
..Systemut2003.exe dm-antalus?game=engine.gameinfo exec=..BenchmarkStuffflybyexec.txt -benchmark -seconds=77 -nosound %1
Дві точки на початку рядка позначають відносний шлях, тобто для коректної роботи цей пакетний файл повинен розташовуватись у відповідному каталозі. Скрипт викликає виконання файл ut2003.exe з каталогу UT2003System, якому дається команда запустити карту dm-antalus, використовуючи настройки engine.gameinfo. Після цього запускається файл *.txt, в якому прописана пара команд. Запуск програми з ключем –benchmark перемикає її у режим бенчмарку, а ключ –seconds=77 задає тривалість виконання flyby-тесту. Ключ –nosound наказує відключити звук під час виконання flyby-теста. За промовчанням буде викликаний файл ut2003.ini з каталогу UT2003System. У тестовій утиліті версії Demo цей INI-файл переписувався щоразу після виконання тестів із різними налаштуваннями якості. У повній версії гри бенчмарк працює вже трохи інакше, що має вам сподобатися.
Утиліта UT2K3 Benchmark
Сайтом [H]ardOCP було створено зручну утиліту для пакетного проходження вбудованого тесту UT2003.
Як уже зазначалося, в комплект гри входять два файли налаштувань якості: MaxDetail.ini та MinDetail.ini. Хоча їх цілком достатньо, але зміна 3D налаштувань дозволить вивести додаткові результати окремо для High Quality і Low Quality. Внесені зміни мінімальні, але різниця у показниках продуктивності по відношенню до еталону виявилася суттєвою.
Зміни в налаштуваннях:
1. У файлі MaxDetail.ini, у розділі [D3DDrv.D3DRenderDevice]параметрам DetailTexMipBias та DefaultTexMipBias присвоєно значення -0.8. Більш агресивні LOD надають зображенню більшого контрасту, але на максимальній деталізації збільшують навантаження на апаратні ресурси. Далі, у цьому розділі [D3DDrv.D3DRenderDevice] включена потрійна буферизація (надавши параметру UseTripleBuffering значення True). Щоб карти освітленості чіткіше відображалися за максимальної деталізації та максимальної якості, параметру UseCompressedLightmaps присвоєно значення False.
2. У файлі MinDetail.ini змінено налаштування. У розділі [D3DDrv.D3DRenderDevice] параметрам DetailTexMipBias та DefaultTexMipBias надано значення 0.8. Позитивне значення LOD дає текстурам розмитість контурів, але при цьому дозволяє підвищити продуктивність. Відключаємо потрійну буферизацію та присвоюємо параметру UseCompressedLightmaps значення True.
У результаті замість того, щоб запускати кожен пакетний файл по черзі, і була створена універсальний пакетний файл з необхідними налаштуваннями якості. Це головне, що дозволяє утиліта "UT2K3 Benchmark". Після запуску пакетного файлу програма спочатку звертається до реєстру і шукає шлях встановлення UT2003. Тобто вона працюватиме незалежно від того, в якому каталозі встановлена UT2K3. UT2K3 може розташовуватися на будь-якому диску або будь-якому каталозі. Зважаючи на специфічні особливості зчитування команд реєстру, ця програма працездатна тільки в операційних системах Windows 2000 і XP.
Такий приклад скрипта для запуску одного з flyby-тестів:
"%UTLOC%Systemut2003.exe" dm-antalus?game=engine.gameinfo exec=%UTLOC%BenchmarkStuffflybyexec.txt -benchmark -seconds=77 -nosound ini=%UTLOC%BenchmarkCustom_MaxDetailCustom_MaxDetail.ini user-1600x1200

Скріншот інтерфейсу програми дає уявлення про роботу цієї тестової утиліти. Простіше не буває.
- Розпакуйте каталог у будь-яке місце на диску. Неважливо, де ви її розмістите – зазирнувши до реєстру, програма знайде шлях до встановлення Unreal Tournament 2003;
- Запустіть програму [H]ardOCP UT2K3 Benchmarker.exe;
- Виберіть потрібну роздільну здатність;
- Виберіть API (D3D, OpenGL).
Програма розпочне виконання тестів на доступних демках. Тест може виконуватися досить довго, залежно кількості вибраних дозволів. При виборі всіх дозволів тест із одним налаштуванням quality займає від 30 хвилин до 1 години, особливо на повільній системі. Тестування процесора проводиться на роздільній здатності 640х480 незалежно від обраного. Тест виконується лише з однією карткою – Inferno.
Після завершення тестів на екран будуть виведені результати у вигляді готової html сторінки - таблиця результатів Low FPS, Average FPS і High FPS для кожного тесту:
Утиліта UT2K3 Benchmark Utility доступна для завантаження звідси. Файл розповсюджується вільно і без обмежень.
А тепер докладніше про те, як працює скрипт. При першому запуску EXE-файл шукає шлях до встановлення Unreal Tournament 2003. Якщо програма знайдена, то на панелі стають доступними відповідні кнопки керування. За натисканням кнопки з відповідною роздільною здатністю програма створить новий каталог всередині каталогу UT2003 і скопіює в нього INI-файл користувача разом з відповідними налаштуваннями якості. Після цього без втручання користувача будуть виконані всі тести. Після завершення всіх тестів програма скопіює в цей каталог текстовий файл з результатами для вибраних параметрів якості та на екраніз'явиться спливаюче вікно, що показує отримані результати. У цей момент програма видалить із каталогу UT2003 створений робочий каталог разом із вашим INI-файлом і приведе все у вихідний стан.
Утиліта виконує 3 види тестів: High Quality, Low Quality, та СPU Test. Будь-який із цих тестів у поєднанні з функціями якості зображення – антиаліасинг та анізотропна фільтрація – можна використовувати для детального та всебічного тестування продуктивності системи в ігрових додатках. Поточна версія програми працює тільки в операційних системах Windows 2000 і Windows XP.