HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > Hardware Skinning (обсуждение и troubleshooting)
Страницы (4): « 1 2 3 [4]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
tolerance
Житель форума
Девойс

Дата регистрации: Feb 2013
Проживает: (void)
Сообщений: 739
Возраст: 32

Рейтинг



Цитата:
FiEctro писал:
Какая тут связь? Сталкер на движке ксаша штоле ?

Вот именно , особенно когда лайтмапы в Xash'е такие:
http://www.picshare.ru/uploads/140103/Gjsntec3dH.jpg

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

Старое сообщение 06-02-2014 16:35
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Да, сталкера и метро тоже будем на ксаше делать

Добавлено 06-02-2014 в 23:20:

И возвращаясь к теме хардварного скиннинга. Я начитался всяких статей по оптимизации и решил изучить это дело подробно. В частности, например утверждается, что стрипы работают быстрее фанов.
Ну это понятно почему происходит - стрипы более эффективно используют место, в результате в вертексный кэш влезает больше вертексов, а значит и скорость их обработки выше - за счёт того, что нам не надо трансформировать дважды (а то и трижды) уже оттрансформированные треугольники. Реализаций построения strip-sequence существует две штуки: NvTriStrip и TriStripper. Я не говорю, что нету каких-то других реализаций, просто на гей-деве рекомендует именно эти. Про них упоминается в лекции по повышению производительности, про них же упоминается в подсказках.
Три-стрип я качать не стал, поскольку это оффлайн-тулза, работает как и все тулзы от нвидии крайне неторопливо (я помню как nvdxt жевала текстуры по 20 секунд). Поэтому я сразу перешёл к проверке Tri STripper.
Тулза написана отвратительно. Во первых в качестве стандартных аргументов она принимает исключительно std::vector. Я мигом догадался, что её писали мудаки, после чего уже не рассчитывал на какие-либо прорывы. Так и оказалось . Эта зараза трудилась над многими моделями порядка 40-50 секунд, но на некоторых модельках проскакивала за тысячные доли секунды. Никакого прироста она мне так же не дала.
Тогда я подумал, что стрипы - это не самоцель, а всего лишь один из методов оптимизации вертексного кэша, что и являлось моей конечной целью. Тогда я скачал простейшую программку vcacheopt, реализованную в одном-единственном хидере. Программка тоже мудацкая, тоже хочет std::vector на вход. Ну да ладно. И вот какие интересные результаты она мне показала: 1 промах кэша на меш любого размера. Понимаете?
Ведь халфовские модели изначально содержат фан-стрип секвенции, для максимального увеличения производительности. Не стоит однако думать, что это изобретение самой вальвы. Код этот был написан Кармаком еще для первого квейка. Тем не менее меня полученный результат вполне удивил, поскольку еденичный промах кэша на моделях любого размера - это просто идеальный результат, вполне возможно я где-то ошибся при инициализации программы. Я еще раз всё перепроверил и отрисовал модельку с уже изменёнными индексами - модель не покорёжилась, фпс не изменился. Тогда я подумал, что возможно сам код неочень корректный и скачал Одну из версий реализации кода Linear-Speed Vertex Cache
Optimization от Tom Forsyth. Я честно игрался с размером вертексного кэша, но ни в одном случае не получил ни прироста ни падения фпс.

На основании проведённых исследований считаю возможным сделать заявление: халфовские модели достаточно неплохо оптимизированы для минимизации промахов вертексного кэша и любые сторонние оптимизации здесь излишни.
Впрочем, моё исследование нельзя признать совсем уж объективным - ведь я проводил его только на одной видеокарте. Ну чтож, давайте еще немного потестируем - я выложил в соседней теме очередное обновление бенчмарка.
Правила тестирования таковы:
1. запускаем бенчмарк, замеряем FPS в Hardware Mode.
2. выходим из программы (именно так! никаких рестартов и перезагрузок карты), открываем config.cfg и находим строчку vcache_size. По умолчанию она равна 32. Допустимые значения 10 - 64. Попробуйте подставить в переменную следующие значения: 10, 16, 24, 32, 48, 64. После каждого изменения следует сохранить config.cfg, запустить бенчмарк и замерить FPS в Hardware mode.
3. Если вы обнаружите серъезные отличия в FPS, ну например у вас было 100 фпс при vcache_size 32 и вдруг стало 180 FPS при vcache_size 10, то обязательно отпишитесь об этом. Если же при любых изменениях vcache_size результат колеблется в пределах 5-10 фпс, то сообщать об этом не следует, т.к. это укладывается в пределы погрешности.

Сразу предупреждаю - с большой долей вероятности никаких изменений большинство из вас не заметит. С меньшей долей вероятности могу сказать, что изменений не будет ни у кого, поскольку, повторюсь, студиомодельки изначально имеют оптимальный порядок следования вертексов и индексов, который не нуждается ни в каких дополнительных оптимизациях. При этом остаётся открытым вопрос, каким же образом ребята с гей-дева таки получали ощутимый прирост, который заметен не на словах, а вполне на деле (есть демка в соответствующей теме, её можно скачать и убедиться самому). Но тут у меня два дополняющих варианта. Во первых все эти изыскания по производительности проводились в 2005-2006 годах и как следствие ситуация могла в чём-то измениться. А во вторых, тамошний народ обожает юзать текстовые некомпилированные модели, например формата OBJ. Это просто такой дамп треугольников, навроде SMD. Кстати SMD они тоже любят грузить самостоятельно. Я ни разу не видел, чтобы кто-то где-то юзал mdl, но зато есть статьи посвящённые загрузке SMD движком. Откуда такая любовь к сырью - понимать отказываюсь. Возможно это doom головного мозга.
Ну так вот - возвращаясь к проблеме, модели такого типа, естественно не имеют ровным счётом никаких оптимизаций, это просто накиданные как попало треугольники и после прогонки этой кучи через оптимизатор, получение положительных результатов становится вполне реальным.
Чего не скажешь о халфовских студиомоделях.

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 06-02-2014 19:20
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4137

Рейтинг



Цитата:
Дядя Миша писал:
OBJ. Это просто такой дамп треугольников

Не обязательно треугольников.

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

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

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

Рейтинг



Индексы в OBJ пишутся? Или самому надо генерить?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 06-02-2014 19:42
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Откуда такая любовь к сырью - понимать отказываюсь. Возможно это doom головного мозга.

Ларчик, как всегда, открывается просто. MDL - проприетарный формат Valve, и его запрещено использовать в сторонних движках. Признайся, ты думал, что я в волатиле свой формат моделей из вредности или из тупости придумал?
Я, честно говоря, сколько ни читал про эти оптимизации под кэш - так и не нашёл информации об их пользе на более или менее современном железе. Вроде как размер кэша на Unified shader architecture не ограничен, и все эти "идеальные цифры" - просто результат тестов на предмет "с каким магическим числом работает лучше".

Добавлено 07-02-2014 в 02:45:

А вообще молодец, что начал статьи читать. Это полезное дело. Раньше ты надо мной смеялся, мол, зачем это всё читать, я вон лучше в сорцах чьих-нибудь погляжу, а теперь видишь как.
Единственное, что я хочу сказать - актуальность статей 10-летней давности и более ранних зачастую под вопросом.

__________________

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

Старое сообщение 06-02-2014 19:45
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4137

Рейтинг



Цитата:
Дядя Миша писал:
Индексы в OBJ пишутся? Или самому надо генерить?

Там они подразумеваются. Тупо строчка за строчкой с токеном "v".
Цитата:

v -0.5 0.5 -0.5
v -0.120537996 -0.137472004 0.519999981
v -0.120537996 -0.102374002 0.519999981
v 0.0694542006 0.136417001 0.519999981
...

И соответственно у полигонов:
Цитата:

f 2 5 6 1
f 2 3 4 1 6 5
f 7 17 16 15 14 13 12 11 10 9 8
...



Добавлено 07-02-2014 в 00:01:

Цитата:
XaeroX писал:
Я, честно говоря, сколько ни читал про эти оптимизации под кэш - так и не нашёл информации об их пользе на более или менее современном железе.

В волатиловских модельках не будет этой оптимизации?

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

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

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

Рейтинг



Цитата:
XaeroX писал:
MDL - проприетарный формат Valve, и его запрещено использовать в сторонних движках

Может с сорсовским форматом дело именно так и обстоит, но первохалфвоский формат моделек юзают довольно многие и никому ничего за это не было. Да и как он может быть проприетартным, ежели по нему есть полные спеки. Частично это alias из первокваки, частично структуры из древного 3д-макса. Я так это понимаю.
Цитата:
XaeroX писал:
Признайся, ты думал, что я в волатиле свой формат моделей из вредности или из тупости придумал?

Вообще не задумывался. Ну придумал и придумал.
Цитата:
XaeroX писал:
А вообще молодец, что начал статьи читать. Это полезное дело. Раньше ты надо мной смеялся, мол, зачем это всё читать, я вон лучше в сорцах чьих-нибудь погляжу, а теперь видишь как.

Очевидно, что я начал читать эти статьи тогда, когда не нашёл ответа в сорцах
Сорцы для меня попрежнему приоритетнее статей, поскольку на словах можно рассуждать как угодно, а практическая реализация порой имеет с этим мало общего. Не доверяю я словам.
Цитата:
XaeroX писал:
Единственное, что я хочу сказать - актуальность статей 10-летней давности и более ранних зачастую под вопросом.

Я это учитывал при свои исследованиях, разумеется.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 06-02-2014 20:52
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
nemyax писал:
В волатиловских модельках не будет этой оптимизации?

Почему не будет? Она уже давно есть, на старых видимокартах она может что-то давать.
Цитата:
Дядя Миша писал:
Да и как он может быть проприетартным, ежели по нему есть полные спеки.

Нет никаких спек. Есть сорцы в составе хлсдк, защищённые проприетарной лицензией.
Цитата:
Дядя Миша писал:
первохалфвоский формат моделек юзают довольно многие и никому ничего за это не было

В России все воруют - что ж теперь?

__________________

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

Старое сообщение 06-02-2014 21:13
-
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
XaeroX писал:
В России все воруют - что ж теперь?

И чтож теперь? Не воровать что ли?

Добавлено 07-02-2014 в 20:02:

Товарищи, вот объясните мне что у вас с головой?
Пишу прямым текстом:
Цитата:
Дядя Миша писал:
Если же при любых изменениях vcache_size результат колеблется в пределах 5-10 фпс, то сообщать об этом не следует, т.к. это укладывается в пределы погрешности.

Цитата:
Дядя Миша писал:
тестируем, отписываемся, в случае получения каких-либо положительных результатов.


Два раза написал - если нету изменений, то отписываться не надо.
И что вы пишите?
Цитата:
nemyax писал:
В тесте с жонглированием размером кеша во всех случаях (10, 16, 24, 32, 48, 64) около 467.

Цитата:
LokiMb писал:
318 во всех случаях

Цитата:
Government-Man писал:
Попробовал разные размеры кэша - ФПС около 647 и не меняется.

Ну ладно бы, фанат лошадок с головой не дружил, нео ведь серъезные уважаемые люди не способны ВДУМЧИВО ОСОЗНАТЬ ПРОЧИТАННОЕ.
Я не знаю, вы может посты набиваете? Или это какой-то коллективный разум?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 07-02-2014 16:02
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
И чтож теперь? Не воровать что ли?

Ты, как всегда, читаешь мои мысли.

Добавлено 07-02-2014 в 23:05:

Цитата:
Дядя Миша писал:
Ну ладно бы, фанат лошадок с головой не дружил, нео ведь серъезные уважаемые люди

Так они все фанаты лошадок небось.

__________________

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

Старое сообщение 07-02-2014 16:05
-
Government-Man
Призрак

Дата регистрации: Apr 2006
Проживает: N/A
Сообщений: 3507

Рейтинг



Награды
 
[1 награда]


Цитата:
XaeroX писал:
Так они все фанаты лошадок небось.


Я фанат джигурды

Цитата:
Дядя Миша писал:
Два раза написал - если нету изменений, то отписываться не надо.


Как бы ты тогда узнал, действительно ли нет изменений, или же мы все дружно забили на тестирование?

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

Старое сообщение 07-02-2014 16:52
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Government-Man писал:
Как бы ты тогда узнал, действительно ли нет изменений, или же мы все дружно забили на тестирование?

Я уже получил результаты и сделал выводы. Этот тест - опциональный.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 07-02-2014 17:01
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4137

Рейтинг



Цитата:
XaeroX писал:
Так они все фанаты лошадок небось.

Нет, только Кика Бутовского. Видимо, влияет =(

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

Старое сообщение 07-02-2014 17:44
- За что?
Government-Man
Призрак

Дата регистрации: Apr 2006
Проживает: N/A
Сообщений: 3507

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Я уже получил результаты и сделал выводы. Этот тест - опциональный.


А ну прости тогда нас за нашу коллективную тупость.

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

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

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 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: Записан
Сообщение: 132676

Старое сообщение 07-02-2014 18:19
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 08:32. Новая тема    Ответить
Страницы (4): « 1 2 3 [4]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > Hardware Skinning (обсуждение и troubleshooting)
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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