Прокси текстур и кеширование изображений на диск - это еще пара
способов сокращения объёма данных, которые будут загружаться в
оперативную или видеопамять.
Дело в том, что все сторонние рендереры (я в частности имею в виду VRay) не управляют текстурами. Этим занимается 3ds Max.
И делает он это в большинстве случаев так: в начале визуализации
подгружает все текстуры в оперативку и держит их там до получения
финального изображения (которое также висит в оперативной памяти).
Но есть у Макса одна фича, которая позволяет исправить эту ситуацию - Bitmap Performance and Memory Options (быстродействие текстур и настройки памяти), находится на закладке Сommon окна настроек рендерера (клавиша F10):
После нажатия на кнопку Setup, выскакивает окно, где можно поставить галочку (если она до этого не стояла) Page Large Images to Disk (Saves Memory), что буквально означает "кешировать большие изображения на диск, чтобы сэкономить оперативку":
А ниже указан путь, куда этот кеш будет складываться.
Включение этой опции позволяет не
забрасывать в оперативку большие текстуры и не хранить в оперативке
большие отрендерённые изображения. Теперь рендер будет проходить
немножко медленнее за счёт того, что винчестер работает не так шустро
как ОЗУ, но зато вы более эффективно используете ОЗУ.
Зачастую, когда начинающие (и не только)
тридешники создают свои сцены, то они не уделяют должного внимания
размеру текстур. Таким образом, может получиться так, что текстура
кирпичной стены, которая занимает на финальной картинке область 370 на
154 пикселей, имеет размер 2048x2048 px! Да еще и в формате psd размером
10-50 МБ или больше! И таких текстур может быть больше десятка.
Как результат, у вас несколько сотен
мегабайт оперативки занято текстурами, которые абсолютно никак не влияют
на качество финальной картинки, но сильно влияют на возможность её
вообще отрендерить.
Если у вас именно такая ситуация, то
отличным способом исправить ситуацию будет создание прокси текстур. Хотя
изначально эта опция предназначалась для того, чтобы уменьшить размер
текстур отображаемых во вьюпорте. Но и для финального рендера эти texture proxies шикарно подходят.
Именно благодаря проксям появляется
возможность динамически (прямо во время рендеринга) подгружать и
выгружать текстуры в/из оперативной памяти.
Чтобы активировать использование проксей для текстур нужно поставить галочку Enable Proxy System.
После этого можно будет даже выбрать во сколько раз нужно уменьшить оригинальную текстуру в выпадающем списке Downscale map to:
- Full - оставить без изменений,
- Half - в половину,
- Third - в три раза,
- Quarter - в четыре раза,
- Eighth - в восемь раз.
Также ниже можно указать какой минимальный размер текстур не нужно
преобразовывать (по умолчанию, всё что меньше 512на512 пикселей не будет
ресайзиться и преобразовываться в прокси). Если вы хотите, чтобы все
текстуры система преобразовывала в прокси, нужно поставить там 0 (ноль).
Выпадающий список Render Mode (режим рендеринга) контролирует, как должен вести себя 3d Max с проксями:
- Render with Proxies (High Performance, Low Memory) - рендерить с проксями (высокая производительность, используется мало оперативки).
- Render with Full Resolution Images and Keep them In Memory (High Performance, High Memory) - рендерить с оригинальными текстурами и держать их в оперативке (высокая производительность, используется много оперативки).
- Render with Full Resolution Images and Free them from Memory (Low Performance, Low Memory) - рендерить с оригинальными текстурами и выгружать их из оперативки (низкая производительность, используется мало оперативки).
Есть еще несколько десятков методов, которые позволяют сэкономить
оперативную память (как отключение Frame Bufer'а, к примеру), но это уже
совсем другие истории
Источник: http://3dyuriki.com/2012/08/10/proksi-tekstur-v-3ds-max-ili-osvobozhdaem-operativnku/ |