Сегодня 13 ноября 2024
18+
MWC 2018 2018 Computex IFA 2018
реклама
Видеокарты

Тестирование скорости системы в играх на движке 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
Тренды 🔥
Samsung забыла оплатить домен и создала проблемы для пользователей Samsung Internet 16 мин.
Meta вынуждена поменять для ЕС методы показа рекламы в Instagram и Facebook 3 ч.
Google обновила Chrome для iOS: теперь доступен одновременный поиск по фото и тексту 4 ч.
Панель задач Windows 11 скоро начнёт давать советы и рекомендации 4 ч.
К концу года Microsoft прекратит поддержку приложений «Почта Windows», «Календарь», «Люди» и классического Outlook 10 ч.
Критики оценили «умный» детектив The Rise of the Golden Idol — игра уже вышла и доступна в российском Steam 11 ч.
Заждались: Farming Simulator 25 вышла в Steam и сразу же установила новый рекорд для серии 13 ч.
Создатели Stellar Blade подтвердили планы на ПК-версию — объявлена дата выхода фоторежима и дополнения по Nier: Automata 14 ч.
Северокорейские хакеры научились обходить защиту macOS и захватывать удалённый доступ к Mac 15 ч.
Apple Intelligence стал источником абсурдных, смешных и пугающих обобщений уведомлений 15 ч.