HLFX.Ru Forum
Показать все 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)


Отправлено chakki.skrip 16-04-2020 в 19:23:

[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х ресурсах, чтобы увеличить шансы на успех, надеюсь, решение будет найдено


Отправлено Ku2zoff 16-04-2020 в 23:54:

chakki.skrip 16 тыщ еполи - это сильно. Я глянул исходник карты, не увидел на нём ни одной энтити. Entity Report выдаёт 0 энтить.

Добавлено 17-04-2020 в 06:46:

Ап: нажал "показать скрытые объекты", вывалилась тонна всякого.
chakki.skrip студиомодельки воткнуты цыклер_спрайтами? Не пробовал избавиться от них? Рендереру должно заметно полегчать, если ты выкинешь 10 тысяч студийных еполи на свалку.

Добавлено 17-04-2020 в 06:54:

Цитата:
chakki.skrip писал:
Версии карт были без хинтов. Решил добавить хинты.

На такой маленькой карте, мне кажется, всё и всегда видно. Виз не поможет. Избавься от студиомоделек. Это не уе3, где можно делать епонскую архитектуру от души и без ограничений, получая 60+ фпс на средних видеокартах.


Отправлено chakki.skrip 17-04-2020 в 04:26:

Вполне приемлемо еще) Ранее никогда не проседал фпс с подобным количеством полигонов. Но вот в последнее время, фпс складывается надвое, а то и вовсе 20 фпс постоянно. Это в кс на диске Д. Контра на диске С лагает реже, но иногда бывает. Однако этого недостаточно, чтобы быть уверенным в невиновности карты

Цитата:
Ku2zoff писал:
На такой маленькой карте, мне кажется, всё и всегда видно. Виз не поможет. Избавься от студиомоделек. Это не уе3, где можно делать епонскую архитектуру от души и без ограничений, получая 60+ фпс на средних видеокартах.

На прошлых версиях карты, с помощью хинтов, удалось сократить количество вполи на 500-1500 Здесь, правда говоря, я не ставил перед собой задачу сокращения полигонов за счет хинтов. Думал поможет, если от стен не будут отходить всякие закутки, но нет. Видимо над ограничением видимости нужно работать.


Отправлено Дядя Миша 17-04-2020 в 06:39:

Сперва запускаем на ксаше и сравниваем фпс.

Добавлено 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'


Отправлено chakki.skrip 17-04-2020 в 08:01:

Ксаш выдает 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
Думаю вот так будет лучше показать


Отправлено Дядя Миша 17-04-2020 в 08:24:

Так тебе сколько фпс-то надо? Обычно народ начинат париться, когда ниже 30

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено chakki.skrip 17-04-2020 в 08:28:

100 фпс
При таких показателях полигонов, фпс должен был быть бы выше 100, но кс выдает меньше, даже не знаю почему


Отправлено Дядя Миша 17-04-2020 в 09:35:

Для начала определимся, что именно тормозит, модели или сам уровень.
Удоли с него все модели и замерь фпс. Виз, я так понимаю, ты полный делаешь? И чем карту собираешь?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено chakki.skrip 17-04-2020 в 13:23:

Да, виз 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 моделей

Если исходить из этого, можно предположить, что беда в карте? Противоречащие тесты.
Думаю беда и в карте и в модельках, но что конкретно?


Отправлено Дядя Миша 17-04-2020 в 13:51:

Ты как-то странно тестируешь. Я говорю - возьми свою уже готовую карту и удоли с нее все модели. Ну или просто 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'


Отправлено chakki.skrip 17-04-2020 в 13:59:

Кс 1.6: fps от 113 до 153

Xash: 330 fps в среднем

Добавлено 17-04-2020 в 16:59:
Не разобрался, как скопировать с консоля, поэтому заскринил)


Отправлено Дядя Миша 17-04-2020 в 14:27:

Цитата:
chakki.skrip писал:
Не разобрался, как скопировать с консоля, поэтому заскринил)

С консоли никак не скопировать. Но если движок запускать с ключом -log, то он этоже самое напишет в engine.log и вот оттуда уже можно копировать.

Добавлено 17-04-2020 в 17:27:

Да ну и что это за карта такая, там ничего тормозить не должно.
А какая у тебя видеокарта? Не РиваТНТ случайно?

И последний тест проведи - удоли с карты вообще все энтити, оставь только геометрию. И брашевые тоже.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено chakki.skrip 17-04-2020 в 14:32:

Спасибо)
>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:

Цитата:
Дядя Миша писал:
И последний тест проведи - удоли с карты вообще все энтити, оставь только геометрию. И брашевые тоже.

Фпс без изменений, 300+


Цитата:
Дядя Миша писал:
А какая у тебя видеокарта? Не РиваТНТ случайно?

Video: GeForce 9600 GT/PCIe/SSE2/3DNOW!

Цитата:
Дядя Миша писал:
Да ну и что это за карта такая, там ничего тормозить не должно.

Вот и я про тоже, может мой комп ослабел? В первом посте я писал, что кс на диске Д стала лагать, может и на С перекинулась такая проблема. Но тут у меня сомнения, поскольку фпс на картах с подобным количеством полигонов равен 100.


Отправлено Crystallize 17-04-2020 в 15:37:

Антиалиазинги все повыключены?


Отправлено Дядя Миша 17-04-2020 в 17:41:

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'


Отправлено chakki.skrip 17-04-2020 в 18:03:

Не все, но настройки видеокарты стандартные

Добавлено 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 фпс можно играть.
Может дело в движке?


Отправлено chakki.skrip 08-12-2020 в 04:31:

С наступающим!
Проведя множество тестов, удалось выявить, что лаги происходят из-за конкретной модели 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


Отправлено Дядя Миша 08-12-2020 в 06:06:

Цитата:
chakki.skrip писал:
Она отключает и включает VBO-рендерер

а какая у тебя видеокарта?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено chakki.skrip 08-12-2020 в 06:50:

У меня 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