Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

 
Ответить в данную темуНачать новую тему
> Скорость загрузки ресурсов в сталкире
Trollz0r
сообщение 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)

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

Помнится, кто-то говорил, что во втором случае scratch_one-s_head.gif


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
aka_sektor
сообщение 15.03.2017, 20:40
Сообщение #2


Грандмастер
**************

Репутация:   118  
Группа: Участник
Сообщений: 1788
Награды: 4
Регистрация: 04.04.2013




Вставить ник Цитировать выделенное в форуму быстрого ответа


По-моему, неважно сколько текстур у модели. Важно, какого они разрешения.


--------------------


Те кто играют уже не забудут ​​​​​​​© Алексей Сытянов
Перейти в начало страницы
 
macron
сообщение 15.03.2017, 21:07
Сообщение #3


Игровой Бог
**********************

Репутация:   1690  
Группа: Участник
Сообщений: 7021
Награды: 11
Регистрация: 22.02.2006




Вставить ник Цитировать выделенное в форуму быстрого ответа


В техническом смысле 1 текстура (файл) должна грузиться быстрее четырех. С другой стороны, при использовании игровых db-архивов, может и не так важно.
Перейти в начало страницы
 
RedMagic
сообщение 15.03.2017, 21:21
Сообщение #4


Высший Игровой Бог
************************

Репутация:   1747  
Группа: Супермодератор
Сообщений: 12594
Награды: 15
Регистрация: 05.11.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


https://en.wikipedia.org/wiki/Texture_atlas


--------------------
Перейти в начало страницы
 
jamakasi
сообщение 15.03.2017, 23:20
Сообщение #5


Доктор Игровых Наук
*******************

Репутация:   544  
Группа: Участник
Сообщений: 3657
Награды: 9
Регистрация: 12.07.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Слишком много неизвестных чтобы сказать что лучше. Тут важно в архивах ресурсы или нет, асинхронно многопоточная загрузка или нет, с чего именно все грузится с ссд\хдд\гибрида, какое разрешение у текстуры и т.д.
Перейти в начало страницы
 
Stalker_Monolit
сообщение 18.08.2017, 06:39
Сообщение #6


Опытный Геймер
*******

Репутация:   17  
Группа: Участник
Сообщений: 161
Награды: 3
Регистрация: 08.03.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Второй случае конечно blink.gif время на обработку пойдет меньше. Да и памяти будет меньше занимать на харде и в оперативе.

Сообщение отредактировал Stalker_Monolit - 18.08.2017, 06:41


--------------------

Перейти в начало страницы
 
jamakasi
сообщение 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




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(jamakasi @ 18.08.2017, 12:52) *
памяти будет занимать ровно столько же, ни больше и ни меньше.

Ну почему же. Заголовок DDS весит 128 байт, в первом случае их надо четыре, а во втором всего один. biggrin.gif
Перейти в начало страницы
 
Cossack-HD
сообщение 19.08.2017, 00:36
Сообщение #9


TECHNOSLAV 80 уровня
**********************

Репутация:   379  
Группа: Участник
Сообщений: 5758
Награды: 6
Регистрация: 26.01.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Даёшь x64 столкир, чтобы ресурсы всех NPC и оружия всегда держались в оперативке, а с диска подгружались только статичные ресурсы (т.е. локации)! laugh.gif
Уже хрен знает сколько существует эта проблема. Ну ладно, загрузку во втором потоке не запилили, давайте хоть решим проблему брутфорсом?

И таки да, столкир умеет подзависать даже при запуске с RAMDISK. Это XRAY, детка! z_crazy.gif
Так что есть два пути решения проблемы и один гибридный.

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
Перейти в начало страницы
 
K.D.
сообщение 19.08.2017, 01:49
Сообщение #10


Почти Мастер
***********

Репутация:   311  
Группа: Участник
Сообщений: 1092
Награды: 5
Регистрация: 01.03.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Cossack-HD @ 19.08.2017, 01:36) *
Даёшь x64 столкир

Даешь профилирование, чтобы внезапно узнать, что не текстуры грузятся дольше всего.
Перейти в начало страницы
 
1_A
сообщение 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


--------------------
Перейти в начало страницы
 
Alex Ros
сообщение 19.08.2017, 05:13
Сообщение #12


Грандмастер
**************

Репутация:   482  
Группа: Участник
Сообщений: 1851
Награды: 6
Регистрация: 22.08.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RedPython @ 15.03.2017, 20:37) *
Случай 1: модель использует 4 отдельные текстуры по 512х512пикс. (т.е. 4 файла DDS)
Случай 2: та же модель использует 1 большую текстуру-склейку 1024х1024пикс, в которой склеены 4 текстуры из предыдущего примера (т.е. 1 файл DDS)

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

Помнится, кто-то говорил, что во втором случае scratch_one-s_head.gif
В данном случае без разницы будет. По крайней мере без ощутимой разницы. Метод тыка не выдает ощутимой. А вот ощутимая разница выходит, когда у тебя много мелких моделей с развертками, скажем, 256. И если у тебя есть 16 моделей с 16 ддс-ками 256, то ощутимо быстрей выходит чтобы все 16 пропсиков обращались к одной ддс-ине 1024. 16 конечно мало чтобы ощутить на практике. Прямо там ощутимая разница по фризам чувствуется, когда много таких пропсиков. Типа 10х1024 супротив 40х512 уже что-то ощущалось. Тестил на НПС давно и на кустах\деревьях. Непосредственно на статике, если что, на пропсиках точно не тестил.

Сообщение отредактировал Alex Ros - 19.08.2017, 05:16
Перейти в начало страницы
 
FL!NT
сообщение 19.08.2017, 08:40
Сообщение #13


Почти Мастер
***********

Репутация:   487  
Группа: Участник
Сообщений: 1165
Награды: 5
Регистрация: 18.12.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Не все однозначно. Если у вас 16 моделей с текстурами 256х256, то загрузка одной 1к текстуры будет быстрей и не будет дерганья при подгрузки остальных, но если на уровне использована всего одна модель из 16, то 15 из 16 от объема текстуры вообще не будет работать, а только грузить память. В СЕ и в UE обычно используется принцип один объект - один набор текстур к нему, исключение составляют только тайлинговые текстуры, которые могут применяться многократно на разных объектах. В сталкере по большому счету этого принципа не придерживались, те же текстуры бочек могут быть насажены на что угодно.))
Перейти в начало страницы
 
Cossack-HD
сообщение 19.08.2017, 11:49
Сообщение #14


TECHNOSLAV 80 уровня
**********************

Репутация:   379  
Группа: Участник
Сообщений: 5758
Награды: 6
Регистрация: 26.01.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(virus_ua @ 19.08.2017, 05:21) *
Cossack-HD, существует с момента создания X-Ray и решена последством разработки 4A Engine.
а х64 как бы уже сделали, вроде.

по теме пункт 2, очевидно же. но такая "экономия", не будет играть в сторону удобства.

Короче, нам нужны исходники метра biggrin.gif

А что не так со вторым пунктом? Посмотрите на ту-же GTA - там ресурсы подгружаются второстепенными потоками, а основной поток ничего не ждёт т.е. вместо зависания он продолжает работать с доступными ресурсами.


--------------------
Ryzen 3700X
Arctic Freezer 33 eSports Duo
16GB DDR4 3600MHz
Strix GTX 1080 TI
Перейти в начало страницы
 
ForserX
сообщение 19.08.2017, 14:34
Сообщение #15


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Cossack-HD @ 19.08.2017, 11:49) *
основной поток ничего не ждёт

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


Ну а по сабжу. В открытом доступе давно код Рафы для мультипоточной загрузки текстур. Если лень искать, то код есть в репо из подписи.

Сообщение отредактировал Forser - 19.08.2017, 14:35


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19.04.2024, 10:26