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

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

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

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

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

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

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

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

про уменьшение размера текстуры нашел только два варианта - один на уровне конвертации в меньший размер на уровне файлов, другой - рендер как спрайта в текстуру. оба не нравятся, нужны еще варианты
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.03.2017, 17:54
Ответы с готовыми решениями:

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

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

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.03.2017, 17:54
Помогаю со студенческими работами здесь

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

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

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

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

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


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

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

Новые блоги и статьи
Динамические массивы в C++ - создание и использование
NullReferenced 27.04.2025
Динамические массивы представляют собой один из фундаментальных инструментов программирования на C++, позволяющий создавать структуры данных, размер которых определяется во время выполнения. . .
Асинхронный JavaScript: Промисы, Async/Await и Fetch API
Reangularity 27.04.2025
Пользователь заходит на веб-страницу, нажимает кнопку и. . . ничего не происходит. Сайт словно замер. Через несколько секунд всё внезапно оживает, но пользователь уже успел закрыть вкладку. Знакомая. . .
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru