HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > PrimeXT - логическое продолжение XashXT
Будет ли полезен этот форк?
(публичный опрос)
Вам не разрешено голосовать в этом опросе.
да
***FantoM*** a1batross Accorsi Alexander Pafos avegamer Aynekko blsha Casperx69x Cep}I{ Chyvachok Crystallize Dako.Dromkov Dneyrin Flash gagasha islan KorteZZ Lev nekonomicon nemyax Next Day SNMetamorph thambs The Sam xrcore_cpu Дядя Миша
25 69.44%
нет
AntiPlayer Cybermax FiEctro Ghoul [BB] Government-Man marikcool NameLesS qpAHToMAS XaeroX XF-Alien [CFR] B@N@N
11 30.56%
Всего: 36 голосов 100%
  [Редактировать опрос (только для модераторов)]

Страницы (37): « Первая ... « 9 10 11 12 [13] 14 15 16 17 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32203
Нанёс повреждений: 392 ед.

Рейтинг



75 зеркал?

Добавлено 08-02-2021 в 00:08:

Если есть подозрение на баги, надо в первую очередь тестировать оригинал, а не форк.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 200212

Старое сообщение 07-02-2021 21:08
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Цитата:
Дядя Миша писал:
Если есть подозрение на баги, надо в первую очередь тестировать оригинал, а не форк.

Да, надо будет сравнить. Пока что правда из-за учебы снова нет времени, потом постараюсь как нибудь выделить.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Сообщить модератору | | IP: Записан
Сообщение: 200215

Старое сообщение 10-02-2021 14:49
- За что?
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Цитата:
Дядя Миша писал:
75 зеркал?

Ага, поглядел через r_speeds 7, ни одного зеркала нету, надо понять почему оно невалидно сбросы считает иногда.

Добавлено 11-02-2021 в 23:09:

Разобрался почему невалидная инфа отображалась: у меня помимо R_DrawWorldList счетчики еще и инкрементировались в R_DrawBrushList (которая вызывается для каждой брашевой энтити). Теперь картина более ясная стала.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Сообщить модератору | | IP: Записан
Сообщение: 200221

Старое сообщение 11-02-2021 19:09
- За что?
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Короче разобрался почему столько переключений шейдеров было - снова не было проверки на fog там, где она по идее должна была быть. Теперь надо попытаться что-то с сортировкой сделать, чтобы переключения текстур были выше по приоритету чем переключения шейдеров.

Добавлено 21-02-2021 в 19:52:

Цитата:
Дядя Миша писал:
Хы. Mod_ResortFaces должен вызываться каждый кадр. Там недоделато.

А можно про это подробнее? Как это в целом должно работать?

Добавлено 21-02-2021 в 19:59:

Цитата:
SNMetamorph писал:
Теперь надо попытаться что-то с сортировкой сделать, чтобы переключения текстур были выше по приоритету чем переключения шейдеров.

Сейчас попробовал - переключений текстур убавилось буквально на 20-30, зато добавилось 50 переключений шейдеров. Вернул всё обратно.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Сообщить модератору | | IP: Записан
Сообщение: 200331

Старое сообщение 21-02-2021 15:59
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32203
Нанёс повреждений: 392 ед.

Рейтинг



SNMetamorph
tr.params_changed должен отслеживать модификацию кваров. Ну можешь в параное глянуть.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 200332

Старое сообщение 21-02-2021 16:41
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



В общем, по рендерингу мира картина уже более-менее ясна. В основном сброс буфера происходит из-за смены текстур, коих на более-менее крупных картах немало, и от этого никуда не деться. Они же в текущей ситуации и дают основную просадку FPS. В принципе, тут есть два решения:
1. Группировать все текстуры сурфейсов мира в атлас (придется много всего переделывать)
2. Использовать bindless textures (поддержка есть только в видеокартах >2013 года)

Добавлено 22-02-2021 в 00:19:

Теперь надо изучить рендеринг брашевых энтити, там вроде есть что-то довольно тормозючее.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Сообщить модератору | | IP: Записан
Сообщение: 200336

Старое сообщение 21-02-2021 20:19
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32203
Нанёс повреждений: 392 ед.

Рейтинг



Переключение текстур на фпс почти не влияет. Смена шейдера - самая дорогая операция.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 200338

Старое сообщение 22-02-2021 06:30
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Цитата:
Дядя Миша писал:
Переключение текстур на фпс почти не влияет. Смена шейдера - самая дорогая операция.

Ну переключений шейдеров совсем немного, а текстуры по 200-300 раз за кадр на больших картах меняются, в итоге импакт по производительности очень большой.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Сообщить модератору | | IP: Записан
Сообщение: 200340

Старое сообщение 22-02-2021 08:01
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32203
Нанёс повреждений: 392 ед.

Рейтинг



Вообще, как я уже говорил - далеко не факт, что проблема именно в отрисовке. Ты для начала посмотри сколько нодов и лифов в дереве на этой карте. Отпрофилируй ENGINE_CHECK_VISIBILITY там могут быть совершенно сумашедшие значения.

Для быстрой прикидки можно выключить всю отрисовку энтить и сравнить фпс. Mod_HeadnodeVisible очень тормозной если дерево слишком большое.

Т.е. в первую очередь - исключи влияние механизмов проверки видимости, которые в какой-то момент начинают наоборот затормаживать всю работу.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 200341

Старое сообщение 22-02-2021 09:24
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Цитата:
Дядя Миша писал:
Вообще, как я уже говорил - далеко не факт, что проблема именно в отрисовке. Ты для начала посмотри сколько нодов и лифов в дереве на этой карте. Отпрофилируй ENGINE_CHECK_VISIBILITY там могут быть совершенно сумашедшие значения.

Для быстрой прикидки можно выключить всю отрисовку энтить и сравнить фпс. Mod_HeadnodeVisible очень тормозной если дерево слишком большое.

А это все дело используется в отрисовке через отсортированный список сурфейсов который в Mod_ResortFaces собирается? Там же оно один раз генерится при загрузке уровня, а потом список никак не меняется. Я правда не пойму как потом некоторые сурфейсы куллятся в функции R_DrawWorldList

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Сообщить модератору | | IP: Записан
Сообщение: 200342

Старое сообщение 22-02-2021 09:33
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32203
Нанёс повреждений: 392 ед.

Рейтинг



Список тут непричём. Это список отсортированных индексов. Из него видимые сурфейсы попадают в другой список, и вот он уже рисуется.
Проведи простой тест - r_norefresh 1
Если фпс не сильно подымется, дело вообще не в отрисовке.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 200343

Старое сообщение 22-02-2021 10:34
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Цитата:
Дядя Миша писал:
Проведи простой тест - r_norefresh 1
Если фпс не сильно подымется, дело вообще не в отрисовке.

С 50 кадров поднялся до 170, немало.

Добавлено 22-02-2021 в 15:45:

Цитата:
Дядя Миша писал:
Mod_HeadnodeVisible очень тормозной если дерево слишком большое.

Ну это же опять таки от процессора зависит?

Добавлено 22-02-2021 в 17:22:

Как
Цитата:
SNMetamorph писал:
А это все дело используется в отрисовке через отсортированный список сурфейсов который в Mod_ResortFaces собирается? Там же оно один раз генерится при загрузке уровня, а потом список никак не меняется. Я правда не пойму как потом некоторые сурфейсы куллятся в функции R_DrawWorldList

Как щас выяснил, весь куллинг сурфейсов выполняется в двух строках в цикле:

C++ Source Code:
1
void R_DrawWorldList( void )
2
{
3
  ...
4
  for( int i = 0; i < world->numsortedfaces; i++ )
5
  {
6
    int surf_index = world->sortedfaces[i];
7
    if( !CHECKVISBIT( RI->visfaces, surf_index ))
8
      continue;
9
  }
10
  ...
11
}
12
 

Осталось разобраться как заполняется собственно сам RI->visfaces

Добавлено 22-02-2021 в 17:35:

Как я понимаю, R_RecursiveWorldNode пробегает по BSP-дереву, помечает видимые лифы и добавляет сурфейсы в некий список (который в R_DrawWorldList не используется) и как раз таки заполняет RI->visfaces
А в свою очередь R_WorldMarkVisibleFaces делает то же самое, только бегает не по дереву, а тупо последовательно по списку лифов на карте?

Добавлено 22-02-2021 в 17:58:

Сейчас потыкали всем народом квар gl_recursive_world_node, который как раз переключает функции R_RecursiveWorldNode и R_WorldMarkVisibleFaces, в итоге вообще ни у кого нет никакой разницы по производительности. Единственное что я заметил, у меня R_WorldMarkVisibleFaces выполняется малость быстрее.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Сообщить модератору | | IP: Записан
Сообщение: 200344

Старое сообщение 22-02-2021 13:58
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32203
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
SNMetamorph писал:
Ну это же опять таки от процессора зависит?

Если рекурсия слишком глубокая, это на любом проце удар по производительности. Ну как цикл while( 1 ); загрузит проц на 100% независимо от его мощности.

Цитата:
SNMetamorph писал:
Сейчас потыкали всем народом квар gl_recursive_world_node

вас там еще и много

Цитата:
SNMetamorph писал:
в итоге вообще ни у кого нет никакой разницы по производительности

я его и оставил кваром.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 200347

Старое сообщение 22-02-2021 14:30
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Цитата:
Дядя Миша писал:
Если рекурсия слишком глубокая, это на любом проце удар по производительности. Ну как цикл while( 1 ); загрузит проц на 100% независимо от его мощности.

То есть предпочтительнее таки отказаться от R_RecursiveWorldNode в пользу R_WorldMarkVisibleFaces?

Цитата:
Дядя Миша писал:
вас там еще и много

Из русских мб человек 10 наберется, из тех кого я знаю. А еще есть пару иностранцев.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Сообщить модератору | | IP: Записан
Сообщение: 200350

Старое сообщение 22-02-2021 14:46
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32203
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
SNMetamorph писал:
То есть предпочтительнее таки отказаться от R_RecursiveWorldNode в пользу R_WorldMarkVisibleFaces?

сложный вопрос на самом деле. Лучше всего не допускать раздутого дерева, но на халфовском формате это нереально. Я писал симплификатор дерева для NT, он очень хорошо справлялся, но для меня это давно уже неактуально.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 200351

Старое сообщение 22-02-2021 14:53
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 11:39. Новая тема    Ответить
Страницы (37): « Первая ... « 9 10 11 12 [13] 14 15 16 17 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > PrimeXT - логическое продолжение XashXT
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024