реклама
Видеокарты

Тестирование скорости системы в играх на движке Quake

⇣ Содержание

Часть 2 - как оптимизировать скорость Quake для тестирования (и не только)

В Quake существует несколько способов добиться повышения производительности. Способ первый - убрать некоторые графические излишества. Второй - изменить некоторые параметры работы с OpenGL, третий - сделать звук попроще или изменить его параметры. Здесь я могу описать только два первых способа, так как никогда не оптимизировал в Quake звук, и не считал это нужным. Единственное что я могу сказать про звук, так это то, что если у Вас не Pentium II, всё же лучше поставить звук на Low Quality (быстрее будет, а разница всё же не настолько важна).

Итак способ первый. Графические излишества. Что подходит под эту категорию? Ну например 16-ти битные текстуры. Чем они так плохи? Сейчас я это проиллюстрирую. Берём зайца...


8 бит текстура (320x240). Занимает 99Кб памяти


16 бит текстура (320x240). Занимает 297Кб памяти

Как видно из иллюстраций, практически, при нормальном дитеринге (Dithering, дисеринг, пока не определился с правильностью написания этого слова по-русски) качество 8 и 16 бит текстур можно свести к практически идентичному, но вот обьём ОЗУ, необходимый для хранения таких текстур может иметь довольно большую разницу. Сравните например 100 текстур по 100Кб и 100 текстур пл 300Кб. Результат - 10 и 30 мегабайт соответственно. А ведь ещё нужно держать в памяти уровень, звуки, события, настройки, и кучу всего другого. Так что сами понимаете, что в такой ситуации довольно сильно нагружается память. А в Quake 2 вы сможете на глаз определить качество текстур только на улице, так как небо становится гораздо более похабным. Ну да кстати что то не верится, что нельзя было отоптимизировать небо под 256 цветов. Либо они не знали о дитеринге ;-))) в чём я сомневаюсь, либо это просто какой то хитрый рекламный трюк. Кстати смена глубины цвета текстур на карточках Voodoo Graphics как сейчас помню приносила в Quake процентов так 20 производительности. Количество цветов меняется под кнопкой Video Options - 8 bit textures : yes

Quakescr2.jpg (18611 bytes)

Кстати, что означают надписи на этом экране: Driver - выбор метода взаимодействия с видео адаптером, ести такие варианты - через стандартный OpenGL (такой же как для 3D заставок Windows и 3D MAX к примеру), 3Dfx OpenGL - только для карт на основе Voodoo Graphics (пример - Diamond Monster 3D, Canopus Pure 3D), Voodoo Rush и Voodoo 2 (Diamond Monster 3D II). Для карт на основе Voodoo Banshee и Voodoo 3 нужен специальный патч (вернее новая версия этого драйвера). Далее - Video mode, и выбор от 320x200 до 1600x1200. Вот примерная таблица разрешений, с которыми разным чипам рекомендовано работать (ИМХО).

Software 320x200 (максимум - 400x300, что бы у вас не стояло, хоть P2-XEON)
Voodoo Graphics (Voodoo1) & Voodoo Rush 512x384, 8bit textures
Voodoo 2 - 8Mb 640x480, 800x600 (медленновато всё же), 8bit textures
Voodoo 2 - 12Mb 640x480 и 800x600, можно и 16bit textures
Voodoo Banshee 800x600, 16bit (можно восемь бит, если мало памяти)
Voodoo 3 800x600,1024x768,1280x1024, 1600x1200 сколько угодно бит, хоть 8 хоть 16, всё равно буфер текстур достаточно большой.
Riva128 512x384, 16bit (за счёт AGP образного текстурирования, но как всегда всё зависит от количества ОЗУ)
RivaTnT (16Мб) 640x480-1024x768, 16bit без проблем, около 12Мб буфера текстур. Вполне хватает. Да ещё и AGP 2x... Лучше не ставить 32бит цвет, разницы почти никакой (см. картинки снизу), зато производительность падает.
RivaTnT 2 Что угодно, вплоть до 1600x1200, даже при 16 бит текстур и 32бит экрана, играть всё равно можно. Мне показалось, что наиболее рабочее разрешение у неё - 1024, всё очень быстро. Конечно я имею в виду на P3-500.
Остальные 2D/3D карточки я сам в руках не держал, поэтому ничего конкретного сказать не могу.

Затем там идут Screen size, brightness и full screen (yes o), это соответственно размер экрана в игре (не разрешение а размер!), яркость изображения и параметр, регулирующий запускать ли игру на полный экран или же в окошке на рабочем столе.

Texture quality - по видимому уменьшает размер текстур. За счёт этого можно было на стареньких 3D карточках получить парочку лишних FPS.

Sync every frame - то же самое, что в настройке драйверов параметр Wait for VSync, при этом игра не показывает больше кадров в секунду, чем может показать ваш монитор. Это может сильно её замедлить. Кстати по поводу человеческого зрения читайте в конце.

Цветность:

16 бит экрана, 8 бит текстур
16 bit экрана при 8 битах текстур. 640x480

Scr01-16-16.jpg (83378 bytes)
16 бит экрана, 16 бит текстур

Scr01-32.jpg (78202 bytes)
32 бита экрана при 16 битах текстур. Ну как, нашли разницу?!
Теперь вот ещё немного...

Q32_01.jpg (42091 bytes)
Ну как разница? Сверху - 16 бит экран, снизу - 32 бит.

Конечно JPG это не самый хороший формат для передачи цветности, но всё же... Стоит ли это потери производительности от 5(TnT2) до 25% (TnT1)?

По-моему нет...

Одно необходимое замечание:
Текстуры в Q очень хорошо оптимизированы, что является несомненной заслугой разработчиков, демонстрирующее крайнюю степень заботы и уважения к потребителям. К сожалению, не все могут похвастаться таким качеством и ответственностью и на других играх возможна огромная разница при воспроизведении 16 и 32 бит цветности.
Отпимизация текстур это высший пилотаж работы с графикой. Требующий кропотливости и времени. Поголовный перевод видеокарт на режим 32-битного цвета снимает головную боль прежде всего разработчикам, и нужен только им. Обычный человек с обычными глазами эту разницу даже не заметит. Но производителям необходимо рапортовать о новых достигнутых высотах, а игровым компаниям необходимо сократить время разработки игр. Отсюда растут эти 32-х битные ноги. Но возмущаться безполезно. Все равно нас застявят покупать P3 и TNT 2.

Q32_01.jpg (42091 bytes)

Что ещё... Ну можно отключить оружие. То есть просто убрать его с экрана. Делается через MULTIPLAYERPlayer Setuphandednesscenter (как на картинке внизу)

Quakescr3.jpg (18776 bytes)

Это даст ещё небольшой прирост производительности, да к тому же оружие не будет загораживать пол экрана.

Пожалуй на этом список излишеств можно закончить... Теперь о режимах OpenGL:

Есть в Q такие комманды как

gl_ztrick
gl_swapinterval
gl_ext_swapinterval
gl_texturemode
gl_rounddown

и ещё некоторые другие, огромный текст можно поискать на ftp://ftp.cdrom.com/pub/planetquake там среди текстов лежат FAQ по коммандам Quake и Quake 2. Если лень рыскать по ftp, то можно сходить на www.planetquake,com, там тоже много интересного.

Следующая страница → ← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.
window-new
Soft
Hard
Тренды 🔥
Производитель микроэлектроники «Элемент» выйдет на биржу до конца мая — это позволит привлечь до 15 млрд рублей на развитие 26 мин.
Раскрыта примерная цена российского электромобиля «Атом» 40 мин.
Гарвардский университет и Amazon построили в Бостоне квантовую сеть длиной более 35 км 49 мин.
Быстрое развитие ИИ привело к резкому росту углеродных выбросов Microsoft, но сбавлять обороты корпорация не намерена 2 ч.
Началась акция «Неделя Dreame» — три робота-пылесоса доступны по промо-ценам с 16 по 27 мая 2 ч.
Российский планшет Yadro Kvadra_T поступил в продажу за 41 990 рублей — производитель намерен занять до 15 % рынка 4 ч.
На воду спущена первая в мире суперъяхта на водороде, но без дизельного топлива она далеко не уплывёт 4 ч.
Microsoft скоро запустит собственные чипы Cobalt в облачной платформе Azure 4 ч.
AWS потратит €7,8 млрд на суверенное облако для Европы 5 ч.
Зонд NASA «Юнона» показал ледяную поверхность юпитерианской луны Европы в невероятных подробностях 5 ч.