10 / 10 / 0
Регистрация: 13.06.2016
Сообщений: 62
1

Подгрузка текстур, уменьшение размера (DX11)

17.03.2017, 17:54. Показов 1565. Ответов 0
Метки нет (Все метки)

возникла потребности в стриминге, дабы уменьшить время старта сцены и увеличить производительность, и на случай, когда вес контента превысит объем оперативной памяти. опыта реализации не было, поэтому хотелось бы узнать, с чего начать.

использую 6 текстур на объект - диффузионная, нормали, материальная (спекуляр, отражения, наличие-масштаб paralax), карта AO (лайтмап), карта paralax, карта подповерхностного рассеивания. дополнительно, думаю ввести комбинированную текстуру меньшего размера для дальних объектов, в которой будут скомбинированы paralax, AO, которые будут обрабатываться более примитивными шейдерами.

далее - подгружать текстуры в память не выгружая до тех пор, пока оперативная память не забьется, скажем, на 90%. создать нечто вроде приоритета для текстур, например, 1 - невыгружаемые, 2 - стандартные, 3 - для дальних объектов.

с оптимизацией непонятки. ведь очередь из загрузки 6-ти текстур в формате PNG (тут тоже прошу совета, нужно сжатие без потери качества) размером 2048x2048 может дать дикие фризы, поэтому, может загружать их поочередно каждые 10-15 кадров, а по готовности, менять шейдер с текстурой, выгружая кастрированную текстуру?

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

про уменьшение размера текстуры нашел только два варианта - один на уровне конвертации в меньший размер на уровне файлов, другой - рендер как спрайта в текстуру. оба не нравятся, нужны еще варианты
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2017, 17:54
Ответы с готовыми решениями:

Как убрать смазывание с текстур малого размера?
Как убрать смазывание с текстур малого размера? :help:

Уменьшение размера программы
Здравствуйте, мне нужно уменьшить размер программы, прочитал что нужно добавлять строки: #pragma...

Уменьшение размера PC игр
прошу всех кто знает как уменьшать размер игр для PC,вырезат и жать видео находящиеся в игре,а...

Уменьшение размера кода
Изучаю C# третий день и решился взяться за программу для расчета ХЭШ кода, который нужен был по...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2017, 17:54
Помогаю со студенческими работами здесь

Уменьшение размера изображения
Вот здесь http://php.net/manual/ru/function.imagecopyresampled.php приведен пример изменения...

Уменьшение размера базы
Всем привет.Подскажите плиз как решить такую проблему.Есть 2 конфы Торговля- Склад и Бухгалтерия,...

Уменьшение размера изображения
Здравствуйте уважаемые форумчане! Возник такой вопрос, есть ли какой-нибудь алгоритм сжатия...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru