Скорость загрузки ресурсов в сталкире |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Скорость загрузки ресурсов в сталкире |
15.03.2017, 20:37
Сообщение
#1
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Случай 1: модель использует 4 отдельные текстуры по 512х512пикс. (т.е. 4 файла DDS)
Случай 2: та же модель использует 1 большую текстуру-склейку 1024х1024пикс, в которой склеены 4 текстуры из предыдущего примера (т.е. 1 файл DDS) В каком случае движок игры будет грузить модель с текстурой быстрее? Помнится, кто-то говорил, что во втором случае -------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
|
|
15.03.2017, 20:40
Сообщение
#2
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
По-моему, неважно сколько текстур у модели. Важно, какого они разрешения.
-------------------- |
 
|
|
15.03.2017, 21:07
Сообщение
#3
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
В техническом смысле 1 текстура (файл) должна грузиться быстрее четырех. С другой стороны, при использовании игровых db-архивов, может и не так важно.
|
 
|
|
15.03.2017, 21:21
Сообщение
#4
|
|
Высший Игровой Бог Репутация: 1747 Группа: Супермодератор Сообщений: 12594 Награды: 15 Регистрация: 05.11.2009 |
-------------------- |
 
|
|
15.03.2017, 23:20
Сообщение
#5
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Награды: 9 Регистрация: 12.07.2007 |
Слишком много неизвестных чтобы сказать что лучше. Тут важно в архивах ресурсы или нет, асинхронно многопоточная загрузка или нет, с чего именно все грузится с ссд\хдд\гибрида, какое разрешение у текстуры и т.д.
|
 
|
|
18.08.2017, 06:39
Сообщение
#6
|
|
Опытный Геймер Репутация: 17 Группа: Участник Сообщений: 161 Награды: 3 Регистрация: 08.03.2015 |
Второй случае конечно время на обработку пойдет меньше. Да и памяти будет меньше занимать на харде и в оперативе.
Сообщение отредактировал Stalker_Monolit - 18.08.2017, 06:41 -------------------- |
 
|
|
18.08.2017, 12:52
Сообщение
#7
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Награды: 9 Регистрация: 12.07.2007 |
Stalker_Monolit, памяти будет занимать ровно столько же, ни больше и ни меньше. По скорости тоже вопрос большой о чем я выше писал.
|
 
|
|
18.08.2017, 13:06
Сообщение
#8
|
|
Почти Игроман Репутация: 187 Группа: Участник Сообщений: 647 Награды: 4 Регистрация: 05.05.2007 |
|
 
|
|
19.08.2017, 00:36
Сообщение
#9
|
|
TECHNOSLAV 80 уровня Репутация: 379 Группа: Участник Сообщений: 5758 Награды: 6 Регистрация: 26.01.2014 |
Даёшь x64 столкир, чтобы ресурсы всех NPC и оружия всегда держались в оперативке, а с диска подгружались только статичные ресурсы (т.е. локации)!
Уже хрен знает сколько существует эта проблема. Ну ладно, загрузку во втором потоке не запилили, давайте хоть решим проблему брутфорсом? И таки да, столкир умеет подзависать даже при запуске с RAMDISK. Это XRAY, детка! Так что есть два пути решения проблемы и один гибридный. 1. Префетчинг всей "динамики" в оперативку. 2. Второй поток для подгрузки ресурсов по запросу из первого, и чтобы первый поток не прерывался, а оставлял объект в оффлайне, пока ресурсы не загрузились. 3. Префетчить в оперативку ту динамику, которая может использоваться на текущей локации. Сюда нужно включить список всех объектов на текущем уровне через all.spawn и всю живность, которая собирается перейти на текущий уровень. Скриптовый спавн, увы, всё равно будет вызывать подзависания. Так что лучше либо 1ый вариант, либо 2ой. Сообщение отредактировал Cossack-HD - 19.08.2017, 00:40 -------------------- Ryzen 3700X
Arctic Freezer 33 eSports Duo 16GB DDR4 3600MHz Strix GTX 1080 TI |
 
|
|
19.08.2017, 01:49
Сообщение
#10
|
|
Почти Мастер Репутация: 311 Группа: Участник Сообщений: 1092 Награды: 5 Регистрация: 01.03.2011 |
|
 
|
|
19.08.2017, 03:21
Сообщение
#11
|
|
Продвинутый геймер Репутация: 104 Группа: Участник Сообщений: 336 Награды: 4 Регистрация: 13.12.2011 |
Cossack-HD, существует с момента создания X-Ray и решена последством разработки 4A Engine.
а х64 как бы уже сделали, вроде. по теме пункт 2, очевидно же. но такая "экономия", не будет играть в сторону удобства. Сообщение отредактировал virus_ua - 19.08.2017, 03:25 -------------------- |
 
|
|
19.08.2017, 05:13
Сообщение
#12
|
|
Грандмастер Репутация: 482 Группа: Участник Сообщений: 1851 Награды: 6 Регистрация: 22.08.2009 |
Случай 1: модель использует 4 отдельные текстуры по 512х512пикс. (т.е. 4 файла DDS) В данном случае без разницы будет. По крайней мере без ощутимой разницы. Метод тыка не выдает ощутимой. А вот ощутимая разница выходит, когда у тебя много мелких моделей с развертками, скажем, 256. И если у тебя есть 16 моделей с 16 ддс-ками 256, то ощутимо быстрей выходит чтобы все 16 пропсиков обращались к одной ддс-ине 1024. 16 конечно мало чтобы ощутить на практике. Прямо там ощутимая разница по фризам чувствуется, когда много таких пропсиков. Типа 10х1024 супротив 40х512 уже что-то ощущалось. Тестил на НПС давно и на кустах\деревьях. Непосредственно на статике, если что, на пропсиках точно не тестил.
Случай 2: та же модель использует 1 большую текстуру-склейку 1024х1024пикс, в которой склеены 4 текстуры из предыдущего примера (т.е. 1 файл DDS) В каком случае движок игры будет грузить модель с текстурой быстрее? Помнится, кто-то говорил, что во втором случае Сообщение отредактировал Alex Ros - 19.08.2017, 05:16 |
 
|
|
19.08.2017, 08:40
Сообщение
#13
|
|
Почти Мастер Репутация: 487 Группа: Участник Сообщений: 1165 Награды: 5 Регистрация: 18.12.2008 |
Не все однозначно. Если у вас 16 моделей с текстурами 256х256, то загрузка одной 1к текстуры будет быстрей и не будет дерганья при подгрузки остальных, но если на уровне использована всего одна модель из 16, то 15 из 16 от объема текстуры вообще не будет работать, а только грузить память. В СЕ и в UE обычно используется принцип один объект - один набор текстур к нему, исключение составляют только тайлинговые текстуры, которые могут применяться многократно на разных объектах. В сталкере по большому счету этого принципа не придерживались, те же текстуры бочек могут быть насажены на что угодно.))
|
 
|
|
19.08.2017, 11:49
Сообщение
#14
|
|
TECHNOSLAV 80 уровня Репутация: 379 Группа: Участник Сообщений: 5758 Награды: 6 Регистрация: 26.01.2014 |
Cossack-HD, существует с момента создания X-Ray и решена последством разработки 4A Engine. а х64 как бы уже сделали, вроде. по теме пункт 2, очевидно же. но такая "экономия", не будет играть в сторону удобства. Короче, нам нужны исходники метра А что не так со вторым пунктом? Посмотрите на ту-же GTA - там ресурсы подгружаются второстепенными потоками, а основной поток ничего не ждёт т.е. вместо зависания он продолжает работать с доступными ресурсами. -------------------- Ryzen 3700X
Arctic Freezer 33 eSports Duo 16GB DDR4 3600MHz Strix GTX 1080 TI |
 
|
|
19.08.2017, 14:34
Сообщение
#15
|
|
Почти Игроман Репутация: 91 Группа: Модератор Сообщений: 516 Награды: 4 Регистрация: 19.07.2015 |
основной поток ничего не ждёт На дебаговом движке хорошо заметно, как основной поток захлёбывается, а второй поток прекрасно обрабатывает звук. Ну а по сабжу. В открытом доступе давно код Рафы для мультипоточной загрузки текстур. Если лень искать, то код есть в репо из подписи. Сообщение отредактировал Forser - 19.08.2017, 14:35 -------------------- В армии по 01.07.2020. |
 
|
|
Текстовая версия | Сейчас: 19.04.2024, 09:12 |