Serious Sam в роли тестовой среды

Serious Sam в роли тестовой среды

В Serious Sam доступно два режима benchmark'а. Первый так и называется Bencmark.
Режим Benchmark
Режим benchmark служит для оценки производительности OpenGL и к игровому процессу не имеет ни малейшего отношения. Запускается он набором в консоли (вызывается стандартно по нажатию клавиши "~") строки bencmark().После чего на экране появляются несколько разноцветных экранов характерных различным тестовым программам. Данный процесс занимает не более 2 - 3 сек. И по окончании в качестве результата выдается скорость загрузки текстур (Texture upload), скорость заполнения (Fill rate) и скорость расчета 18-пиксельных треугольников (Geometry speed) для различных режимов. Пример результата получаемого в режиме benchmark можно видеть на прилагаемом скриншоте.

Для большинства пользователей данный режим не представляет особого интереса, так как простому пользователю куда более важно просто знать значение FPS, выдаваемое во время игры, а не ломать голову над тем, что же скрывается за значениями Texture, Fill rate и т.д. Для этого и предназначен второй режим, носящий название Profile и являющийся аналогом режима timedemo в большинстве других игр, имеющих встроенный бенчмарк.
Режим Profile
Для управления режимом Profile в Serious Sam можно использовать несколько переменных. В данной статье мы познакомимся с некоторыми из них. Основной является dem_bProfile. Чтобы активизировать режим Profile в системной консоли необходимо переменной dem_bProfile присвоить 1 (ввести строку dem_bProfile=1). После этого нехитрого действия следует запустить любую имеющуюся демку (поставляемую с игрой или записанную самостоятельно). По итогам проигрыша выбранного файла будет предложено 6 различных значений результата:
- Originally recorded. В данном пункте выводится количество кадров и затраченное на них время, т.е. среднее число FPS за весь демо-файл.
- Without excessive peaks. В этой строке также содержится среднее число FPS, но без учета различных всплесков и падений. Кстати во всех результатах тестов в Serious Sam на www.4user.ru приведено данное значение.
- High peak. Показывается наибольшее значение FPS за время демо.
- Low peak. Показывается наименьшее значение FPS за время демо.
- High sustained. Наивысшее установившееся значение FPS, которое держалось в течение некоторого промежутка времени.
- Low sustained. Тоже самое, но относительно минимального значения FPS.

Полученной информации вполне достаточно, для того чтобы делать определенные выводы. Но при желании можно получить данную информацию в несколько расширенном виде при помощи переменной dem_iProfileRate. Данной переменной можно присваивать любое значение, начиная с нуля. Оно задает интервал времени, через который будет сниматься значение FPS. В конце демки помимо перечисленной выше информации так же будут выведены значения FPS через заданный интервал.
Помимо перечисленных полезными могут оказаться еще несколько переменных. Одна из них ReportDemoProfile() служит для повторного вывода результата в консоли. Другая - DumpDemoProfile() служит для вывода результатов бенчмарка в текстовый файл. Вывод осуществляется в 'Serious SamTempDemoProfile.lst'. Так же не лишней может оказаться переменная sam_bAutoPlayDemos. По умолчанию данная переменная имеет значение '1' и после запуска демо-файла в Serious Sam происходит зацикливание, а для выхода из Demo необходимо нажать 'Esc'. Чтобы после проигрыша одного файла осуществлялось возвращение в главное меню необходимо sam_bAutoPlayDemos присвоить '0' (sam_bAutoPlayDemos=0). Еще одной переменной, которой можно воспользоваться является dem_tmTimer выводящая время прогона демо-файла.
Данными переменными не ограничиваются возможности тестирования в Serious Sam. Познакомиться со всеми доступными в игре переменными можно, нажимая клавишу 'Tab' в системной консоли. К режиму Profile относятся те из них, которые либо начинаются с 'dem_', либо в названии встречается слово 'Demo'.
На этом думаю можно закончить обсуждение непосредственно самих доступных режимов бенчмарка и перейти к обсуждению той части, на которой собственно и осуществляется тестирование.
Демки, то где? Демки?!
Изначально в Serious Sam имеется пять предварительно записанных демок, представляющих каждый уровень игры. Для проформы перечислю их:
- Демки Сема
- Karnak Peaceful Night Coop
- Metropolis Coop
- Memphis Suburbs
- Dunes
- Alley Of The Sphinxes

Все они отличаются как по времени воспроизведения, так и по сложности сцен, о чем можно судить, взглянув на результаты, полученные на PC следующей конфигурации:
Материнская плата | ABIT KT7-RAID |
Процессор | AMD Athlon 1000МГц (266МГц шина) |
Видео адаптер | GeForce2 Ultra |
Оперативная память | winbond 128Mb SDRAM PC133 |
Жесткий диск | IBM DTLA-305030 ATA/100 |
OS/Drivers ver. | Windows Me 4.90.3000, DirectX 8.0, Detonator 6.50 |
А это результаты выполненных тестов (разрешение 640х480х16 Bit -> с лучшим качеством изображения):
Название уровня | fps | время, сек. |
Karnak Peaceful Night Coop | 86,5 | 75 |
Metropolis Coop | 99,1 | 138 |
Memphis Suburbs | 87,4 | 47 |
Dunes | 121,9 | 90 |
Alley Of The Sphinxes | 114,2 | 103 |
Для различных задач, приследуемпых при тестировании, следует использовать различные уровни. Так если хочется узнать максимум на что способен ваш компьютер, то лучше будет воспользоваться уровнем Dunes или Alley Of The Sphinxes. А если больше интересуют возможности видеоподсистемы, то на это случай больше подойдет либо Karnak Peaceful Night Coop, либо Memphis Suburbs (самый короткий).
Помимо различных уровней можно (и даже нужно) использовать различные настройки из меню Option -> Video Option. Отсюда можно задействовать пункты:
- PREFERENCES. Различные настройки, касающиеся детализации. Доступно три значения: Speed, Normal и Quality.
- RESOLUTION.
- BIT PER PIXEL. Здесь также предлагается выбрать одно из трех значений: 16BPP, 32BPP и DESKTOP.
- RENDERING OPTIONS. Служит для более тонкой настройки видео и для проведения тестов актуально в меньшей степени.
Конечно, позиция Quake в качестве бенчмарка на данный момент не зыблема, но иметь возможность несколько разнообразить доступный набор тестов не будет лишней. К тому же появится больше информации для более точного и полного анализа системы. А Serious Sam подходит для этих целей как нельзя лучше.
- Список переменных имеющих отношение бенчмарку:
- StartDemoRecording()
- StopDemoRecording()
- dem_tmTimer
- dem_fSyncRate
- dem_fRealTimeFactor
- dem_bOnScreenDisplay
- dem_bPlay
- dem_bPlayByName
- dem_bProfile
- dem_iAnimFrame
- dem_iProfileRate
- sam_bAutoPlayDemos
- sam_imaxFPSActive
- sam_imaxFPSInactive
- ReportDemoProfile()
- DumpDemoProfile()
Комментарии читателей Оставить комментарий