Три дня угрохал на оптимизацию / Инди игры :: Neamee :: gamedev :: сделал сам (нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам) :: screenshotsaturday :: скриншоты :: Игры

скриншоты screenshotsaturday gamedev Игры сделал сам Инди игры Neamee 

Три дня угрохал на оптимизацию

Бился за снижение кол-ва Draw Calls, экспериментировал с различными настройками батчинга (static, dynamic, instancing), для чего - делал текстурные атласы, допиливал шейдеры, писал скрипты которые позволяют передавать в шейдер UV, уникальные для каждого меша. 

 Пока что в групповой instancing объединил всю небольшую растительность которая не реализована SkinnedMesh'ем (статична либо анимирована вертексным шейдером). 

На очереди - мелкие булыжники. В будущем планирую еще чего-нить выжать из системы группового инстанциирования.

 Результаты: Draw Calls не превышают 1200 на динамических сценах с 1,3 млн треугольников в кадре.Среднее значение 850-950.

G		e
С		e
1 *" «Si [',^V	jf'v
'yJPi .	
	
	
			” г
			ttt .,скриншоты,screenshotsaturday,gamedev,Игры,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,Инди игры,Neamee

FPSMonitor (Demo)
Программа становится лучше благодаря тем, кто приобрел лицензию. Сделайте свой вклад, спасибо!,скриншоты,screenshotsaturday,gamedev,Игры,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,Инди игры,Neamee

Конфигурация:Xeon 1220V3, GF 570 GTX,16 Gb RAM, Windows7x64

Сборка L2CPP, х86_64

Падение частоты кадров только на переключениях между процессами - ну там скриншот сделать или в настройки FPSMonitor залезть. На моей конфигурации держится не ниже 93 frames \ sec в самых "тяжелых" ракурсах.


Подробнее
G e С e 1 *" «Si [',^V jf'v 'yJPi . ” г ttt .
FPSMonitor (Demo) Программа становится лучше благодаря тем, кто приобрел лицензию. Сделайте свой вклад, спасибо!
скриншоты,screenshotsaturday,gamedev,Игры,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,Инди игры,Neamee
Еще на тему
Развернуть
Увидел количество drawcall - прихирел в начале. Потом понял, ты не для мобилок делаешь)
Merklar Merklar 06.03.202111:58 ответить ссылка -0.1
Для мобилок планирую, но конечно, еще буду "дорабатывать напильником". Для них однозначно слишком дохера Draw Calls, потому и планирую еще возиться с MultiInstancing.

Цель - снизить до 800-900 в пиковой нагрузке и 500-600 в средней.

Но там еще другие моменты имеются:
1. Буду изучать как группировать на отрисовку SkinnedMesh'и
2. Сейчас многие текстуры в разрешениях 2К, а для мобилок оно будет лишним. сейчас текстуры ОЗУ жрут в районе 0,7Гб.
3. Довольно много памяти звук отъедает. Тоже надо повозиться с компрессией, почистить библиотеку, доработать динамическую подгрузку. А то и половины озвучки нет, а уже 0,5 Гб только на звуки.
Fosgen Fosgen 06.03.202112:15 ответить ссылка 0.0
Да, не учел, что эт 3D) У нас на проекте (онлайн 2D игрушка), перед продакшеном обратили внимание на количество drawcall за 300+ - ужаснулись) Начали судорожно оптимизировать.. Дошли до 170 при максимуме деталей
да с 2D проще - все спрайты по атласам распихали и совсем другие расклады)
В 3D для батчинга еще и меши одинаковые (по массиву вертексов) должны быть.

Но я люблю 3D, ну и замоделлить мне проще - 2D артист из меня никакой.)
Fosgen Fosgen 06.03.202115:39 ответить ссылка 0.0
Сколько у вас SetPass'ов при 300+ и при 170 Draw Call'ах было?
Fosgen Fosgen 06.03.202117:53 ответить ссылка 0.0
При 300 - не помню, не обращал тогда внимания. При 170 - сейчас глянул, 160 SettPass
Кошерно.) Практически на каждую отрисовку - смена стейта.

У меня хуже - 230-250 SetPass, а draw calls гораздо больше - т.к. дофига разных мешей, даже использующих один материал. Конечно такие draw calls дешевле полноценных - со сменой стейта, но все равно.
Fosgen Fosgen 06.03.202121:11 ответить ссылка 0.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Neamee - big update.,People & Blogs,,New features
Backpack batteries charging logic changed
Game perfomance improved more then 40%
Enviroment's materials and main character's look - updated.
подробнее»

скриншоты screenshotsaturday gamedev Игры сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам Инди игры Neamee

Neamee - big update.,People & Blogs,,New features Backpack batteries charging logic changed Game perfomance improved more then 40% Enviroment's materials and main character's look - updated.
Blackberry Witch: Journey Gameplay Part 1,People & Blogs,Blackberry Witch: Journey,point and click,2d,Indie,development,Another element to show our development progress
Yo can support us on our patreon: https://www.patreon.com/Creepybox_Games
More information on our twitter:
подробнее»

gamedev Игры Приключения ведьмы Ежевики Blackberry Witch screenshotsaturday Суббота для скриншота сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам Blackberry the Witch

Blackberry Witch: Journey Gameplay Part 1,People & Blogs,Blackberry Witch: Journey,point and click,2d,Indie,development,Another element to show our development progress Yo can support us on our patreon: https://www.patreon.com/Creepybox_Games More information on our twitter:
Neamee next visual update,People & Blogs,,next visual update + new gameplay (puzzle) elements Neamee new mechanic,People & Blogs,,Physically based game mechanic with some sort of "geysers" linked in group.
Will be used for puzzles with platforming element.