![]() |
Показать все 19 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- [CS 1.6] Потери в фпс при стабильных показателях полигонов. (https://hlfx.ru/forum/showthread.php?threadid=5489)
[CS 1.6] Потери в фпс при стабильных показателях полигонов.
Доброго времени суток! Неделю назад решил полностью переделать карту, с целью улучшения производительности. Но столкнулся с серьезной проблемой, не понимаю ее происхождение. Фпс падает, когда направляешь камеру на центр карты.
(3500 еполи пушка в руках)
75fps 7 ms 916 wpoly 15508 epoly
77fps 8 ms 916 wpoly 15508 epoly
70fps 7 ms 916 wpoly 15508 epoly
78fps 8 ms 916 wpoly 15508 epoly
74fps 8 ms 916 wpoly 15508 epoly
70fps 7 ms 916 wpoly 15508 epoly
75fps 8 ms 916 wpoly 15508 epoly
77fps 8 ms 916 wpoly 15508 epoly
76fps 8 ms 916 wpoly 15508 epoly
73fps 8 ms 916 wpoly 15508 epoly
75fps 8 ms 916 wpoly 15508 epoly
71fps 7 ms 916 wpoly 15508 epoly
77fps 8 ms 916 wpoly 15508 epoly
70fps 8 ms 916 wpoly 15508 epoly
74fps 7 ms 916 wpoly 15508 epoly
77fps 7 ms 916 wpoly 15508 epoly
Кто-то сказал, что это из-за большого количества моделей. Но лично я полагал, что это из-за большого числа листьев в кадре. В районе 400.
Начал проверять версии, выяснять причину.
Версия 1. Тест производился на самой карте.
Не более 10 моделей
86fps 6 ms 862 wpoly 25884 epoly
100fps 5 ms 864 wpoly 18460 epoly
Более 75 моделей
71fps 8 ms 876 wpoly 21812 epoly
83fps 5 ms 859 wpoly 18586 epoly
Можно подумать, что от количества моделей фпс вырос? С одной стороны, это действительно так, но, объединив модели, удалось уменьшить их количество со 195 до ~70. Фпс без улучшений. Сегодня, пошел во все тяжкие и сократил до 19 моделей. Опять без изменений! Версия бредовая. Оказывается, количество энтитей никак не влияет на фпс
Доказал это себе тестом карты коробки:
Количество энтитей в кадре никак не отразилось на показателях фпс.
Карта коробка
100fps 4 ms 834 wpoly 35904 epoly
2112 полигонов 17 моделей
100fps 4 ms 834 wpoly 35840 epoly
512 полигонов 70 моделей
Сама карта
89fps 6 ms 976 wpoly 35904 epoly
17 моделей
86fps 7 ms 976 wpoly 35840 epoly
70 моделей
Модели зазря испортил только.
Версия 2. average leafs visible: 400+
Версии карт были без хинтов. Решил добавить хинты. Добавить не с целью ограничения видимости, а с целью нормализации генерации листьев. По-моему, я сделал только хуже. Число average leafs visible уменьшить не удалось. Оно осталось на прежнем уровне.
Версия 3. Проблемы моего компьютера??? Неуверен, поскольку на картах с подобным количеством полигонов, фпс равен 100.
Карта ze_hitchhiking
100fps 5 ms 1017 wpoly 16232 epoly
100fps 4 ms 1017 wpoly 16232 epoly
100fps 5 ms 1017 wpoly 16232 epoly
100fps 4 ms 1017 wpoly 16232 epoly
100fps 5 ms 1017 wpoly 16232 epoly
100fps 4 ms 1017 wpoly 16232 epoly
100fps 5 ms 1017 wpoly 16232 epoly
Прилагаю в архив карту, исходник карты, файлы порталов и лог файл.
https://www.dropbox.com/s/fxx4likvh.../ka_rs.rar?dl=0
Разместил тему на 2х ресурсах, чтобы увеличить шансы на успех, надеюсь, решение будет найдено
chakki.skrip 16 тыщ еполи - это сильно. Я глянул исходник карты, не увидел на нём ни одной энтити. Entity Report выдаёт 0 энтить.
Добавлено 17-04-2020 в 06:46:
Ап: нажал "показать скрытые объекты", вывалилась тонна всякого.
chakki.skrip студиомодельки воткнуты цыклер_спрайтами? Не пробовал избавиться от них? Рендереру должно заметно полегчать, если ты выкинешь 10 тысяч студийных еполи на свалку.
Добавлено 17-04-2020 в 06:54:
Вполне приемлемо еще) Ранее никогда не проседал фпс с подобным количеством полигонов. Но вот в последнее время, фпс складывается надвое, а то и вовсе 20 фпс постоянно. Это в кс на диске Д. Контра на диске С лагает реже, но иногда бывает. Однако этого недостаточно, чтобы быть уверенным в невиновности карты
Сперва запускаем на ксаше и сравниваем фпс.
Добавлено 17-04-2020 в 09:39:
Вообще модельки не надо объединять, если физически они не умещаются во фрустуме в каждую еденицу времени. Потому что халфа не умеет отсекать по субмоделям.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Ксаш выдает 118 фпс, кс 1.6 же 70)
Количество еполи пришлось увеличить через редактор энтитей, продублировав несколько моделек. Было 12 500 еполи. В кс 3-4к модель оружия в руках
Добавлено 17-04-2020 в 11:01:
https://www.dropbox.com/s/o6c4j8mkd...5_0000.bmp?dl=0
https://www.dropbox.com/s/x4v476ibi...5_0005.bmp?dl=0
Думаю вот так будет лучше показать
Так тебе сколько фпс-то надо? Обычно народ начинат париться, когда ниже 30
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
100 фпс
При таких показателях полигонов, фпс должен был быть бы выше 100, но кс выдает меньше, даже не знаю почему
Для начала определимся, что именно тормозит, модели или сам уровень.
Удоли с него все модели и замерь фпс. Виз, я так понимаю, ты полный делаешь? И чем карту собираешь?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Да, виз full, а компиляторы с поддержкой теней от студиомоделей(но мне придется их сменить под финальную версию этой карты из-за другого лайтстиля, освещение на карте не получается регулировать плагином)
88fps 6 ms 25 wpoly 17518 epoly
79fps 7 ms 25 wpoly 17518 epoly
79fps 7 ms 25 wpoly 17518 epoly
82fps 7 ms 25 wpoly 17518 epoly
83fps 7 ms 25 wpoly 17518 epoly
81fps 7 ms 25 wpoly 17518 epoly
83fps 6 ms 25 wpoly 17518 epoly
100fps 2 ms 1010 wpoly 0 epoly
100fps 2 ms 1010 wpoly 0 epoly
100fps 2 ms 1010 wpoly 0 epoly
100fps 3 ms 1010 wpoly 0 epoly
100fps 2 ms 1010 wpoly 0 epoly
100fps 2 ms 1010 wpoly 0 epoly
100fps 2 ms 1010 wpoly 0 epoly
100fps 2 ms 1010 wpoly 0 epoly
Добавлено 17-04-2020 в 15:28:
После уменьшения текстур в модельке в 8 раз
87fps 5 ms 25 wpoly 17570 epoly
92fps 5 ms 25 wpoly 17570 epoly
94fps 5 ms 25 wpoly 17570 epoly
89fps 5 ms 25 wpoly 17570 epoly
92fps 5 ms 25 wpoly 17570 epoly
85fps 5 ms 25 wpoly 17570 epoly
88fps 6 ms 25 wpoly 17570 epoly
83fps 5 ms 25 wpoly 17570 epoly
87fps 5 ms 25 wpoly 17570 epoly
Немного лучше, но незначительно. И этот способ сразу отсекается, так как качество очень плохое.
Добавлено 17-04-2020 в 16:23:
Несколько дней назад делал еще тесты.
Создал квадратную комнату, наполнил ее цилиндрами по 32 сторонами, перевел в func_illusionary для скорой компиляции. Заполнил комнату модельками.
17 моделей по 2112 полигонов
100fps 5 ms 834 wpoly 35904 epoly
100fps 4 ms 834 wpoly 35904 epoly
70 моделей по 512 полигонов
100fps 4 ms 834 wpoly 35840 epoly
Фпс стабилен, ставим эти самые модельки на саму карту и получаем:
86fps 7 ms 976 wpoly 35840 epoly
70 моделей
Если исходить из этого, можно предположить, что беда в карте? Противоречащие тесты.
Думаю беда и в карте и в модельках, но что конкретно?
Ты как-то странно тестируешь. Я говорю - возьми свою уже готовую карту и удоли с нее все модели. Ну или просто r_drawentities 0 поставь.
И разблокируй fps, введи fps_max 0, чтобы знать сколько там реально.
Хотя помоему в халфе это не сработает.
Добавлено 17-04-2020 в 16:51:
Да и вполи особого смысла замерять нету. Там другое может тормозить.
Запусти карту под ксашем, набери в консоли mapstats и выложи их суда (из лога скопируй).
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Кс 1.6: fps от 113 до 153
Xash: 330 fps в среднем
Добавлено 17-04-2020 в 16:59:
Не разобрался, как скопировать с консоля, поэтому заскринил)
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Спасибо)
>mapstats
Object names Objects/Maxobjs Memory / Maxmem Fullness
------------ --------------- --------------- --------
entities [variable] 10903/1048576 ( 1.0%)
planes 7792/65536 155840/1310720 (11.9%)
textures [variable] 1062300/33554432 ( 3.2%)
vertexes 5851/65535 70212/786420 ( 8.9%)
visibility [variable] 111469/16777216 ( 0.7%)
nodes 4612/32767 110688/786408 (14.1%)
texinfo 1814/65535 72560/2621400 ( 2.8%)
faces 4095/65535 81900/1310700 ( 6.2%)
lightmaps [variable] 549867/33554432 ( 1.6%)
clipnodes 17532/32767 140256/262136 (53.5%)
leafs 2877/32767 80556/917476 ( 8.8%)
markfaces 5143/65535 10286/131070 ( 7.8%)
edges 10359/1048576 41436/4194304 ( 1.0%)
surfedges 18998/2097152 75992/8388608 ( 0.9%)
models 10/768 640/49152 ( 1.3%)
deluxmaps [variable] 549867/33554432 ( 1.6%)
=== Total BSP file data space used: 2.98 Mb ===
World size ( 4096 4096 2112 ) units
Supports transparency world water: No
Lighting: colored
World total leafs: 1149
original name: maps/ka_risingsun_pa05.bsp
internal name: none
map compiler: ZHLT v3.4 VL34 (Dec 21 2017)
map editor: J.A.C.K. 1.1.2276 (vpHalfLife)
Добавлено 17-04-2020 в 17:32:
Антиалиазинги все повыключены?
chakki.skrip у тебя фпс стабильно низкий на этой карте или когда ты в центр смотришь или еще куда-то? Ну если еполи много в кадре, он конечно просядет.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Не все, но настройки видеокарты стандартные
Добавлено 17-04-2020 в 21:03:
de_dust2 с игроками
73fps 8 ms 254 wpoly 20141 epoly
70fps 8 ms 254 wpoly 20141 epoly
74fps 8 ms 254 wpoly 20141 epoly
72fps 8 ms 254 wpoly 20141 epoly
72fps 10 ms 254 wpoly 20141 epoly
60fps 8 ms 254 wpoly 20727 epoly
71fps 8 ms 254 wpoly 20727 epoly
72fps 8 ms 254 wpoly 20727 epoly
73fps 8 ms 254 wpoly 20727 epoly
71fps 8 ms 254 wpoly 20727 epoly
74fps 8 ms 254 wpoly 20727 epoly
В общем, карта действительна не должна лагать и, наверное, не лагает, но не у меня.
Дело в компьютере видимо
Но тут вспомнил вот что. Кс, расположенная на диске Д, лагает, фпс 20. Такая же ситуация переходит и на диск С. Если подумать, что проблема в компьютере, то почему я могу запускать другие игры с приемлемым фпс? Burnout Paradise The Ultimate Box в 60 фпс можно играть.
Может дело в движке?
С наступающим!
Проведя множество тестов, удалось выявить, что лаги происходят из-за конкретной модели rs_props.mdl. Дело не в режимах отображения, наличия спрайтов или чего-то еще. Единственное мое предположение было насчет чрезмерного наличия вершин на карте, так как в этой модели почти все объекты hard surface, что подразумевает большее количество используемых вершин из-за своих форм.
Сперва, я удалил на карте все модели, заменив их на 2 модели, имеющие примерно такое же количество полигонов.
https://www.dropbox.com/s/jvdabix1b3vzhdu/rs1.jpg?dl=0
https://www.dropbox.com/s/splxa9youmb63ao/rs2.jpg?dl=0
https://www.dropbox.com/s/9eanfof5s2uvc4u/rs3.jpg?dl=0
https://www.dropbox.com/s/brnbqe9sd8s9ykh/rs4.jpg?dl=0
Как видно из скринов, потери фпс из-за моделей на карте.
На следующих скринах присутствуют только модели с карты без режимов отображения:
https://www.dropbox.com/s/yuffb57gb4yih4o/rs5.jpg?dl=0
https://www.dropbox.com/s/g83nsthvi1pya5m/rs6.jpg?dl=0
Просадки в фпс. Удаляя по очереди каждую из 5 моделей, осталась лишь одна rs_props.mdl, которая и вызывает такие просадки. Предположение про количество вершин обретает смысл для проверки.
Вчера, благодаря тесту Aynekko на Xash, предположение оказалось верным:
В верхней части скрина карта для сравнения, а в нижней тестируемая, моя.
https://www.dropbox.com/s/rxc5rx5kbm3fcpi/rs0.jpg?dl=0
Как можно заметить, дело явно не в количестве полигонов;
Фпс на разных билдах ксаша:
Ксаш билд 3521 - 157 fps, 4529 - 50
Следующая команда все подтвердила, дело в вершинах!
gl_renderer 0 - 170 fps
gl_renderer 1 - просадки fps
Она отключает и включает VBO-рендерер, а это Vertex Buffer Object, видим Vertex!
Теперь варианты решения. Есть ли смысл переводить hard surface модели обратно в браши? Ведь вершины и на карте есть, переведу, но количество вершин не изменится(разве что не все сразу будут отображаться).
скачать карту для теста можно по ссылке: https://gamebanana.com/dl/470777
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
У меня Nvidia 9600 GT. Тесты на XashXT проводил Aynekko.
На моей видеокарте 73 fps на Xash3d build 4150 и примерно столько же в кс.
Хотел протестировать gl_renderer 0 и 1, но такой команды не существует.
Возможно из-за того, что 3d, а не XT
Добавлено 08-12-2020 в 09:50:
Во, теперь показывает:
Nvidia 9600 GT
Xash3D build 4529 +XashXT
gl_renderer 0 - 74 fps
gl_renderer 1 - 40 fps
Временная зона GMT. Текущее время 17:28. | Показать все 19 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024