Главная » Обсуждения » Вопросы по V-Ray » Error cannot create bitmap, как сохранить рендер большого разрешения
Error cannot create bitmap, как сохранить рендер большого разрешения
MAX #1069, 364 дня назад
При просчете изображения по средством vray в большем разрешении довольно часто при сохранении в файл возникает ошибка "cannot create bitmap", и результат просчета сохранить не удается... Не подскажите универсальный способ борьбы с этим... А также подскажите пожалуйста как на ранней стадии просчета определить что сохранить его в файл не удастся.
RenderStuff #1080, 363 дня назад
Привет, MAX!
Ошибка, выдаваемая V-Ray cannot create bitmap означает, что в оперативной памяти твоего компьютера просто не осталось места для формирования растрового массива (совокупности пикселей изображения) для сохранения его в нужный тебе растровый формат. Попросту у тебя не хватает ОЗУ для этой операции.
Вот абстрактный пример. Предположим, что в системе установлено 2Gb ОЗУ. Мы загружаем 3ds Max и начинаем процесс рандерига. Рендерим картинку размером 3000 на 2000 пикселей. При этом на все операции рендеренга уходит 1.95 гигабайта оперативной памяти. Разумеется, что по окончанию рендеринга данные этих операций не очищаются из ОЗУ, так и продолжая по прежнему находится там.
Теперь, при попытке сохранить рендер, 3ds Max и V-Ray пытаются, из сырой информации во фрейм буфере, сформировать растровый файл. Они начинают грузить информацию о будущих пикселях в ОЗУ и сталкиваются тем, что для этой операции не хватает там места.
Многие удивляются, чего же так, ведь даже большое изображение, например то же 3000 на 2000 px в формате jpg занимают всего каких-то пару мегабайт? Дело в том, что если пересохранить эту картинку из оптимизированного jpg в линейный bmp формат, то она будет занимать намного больше мегабайт.
Примерно так же линейно видит информацию о пикселях и рендерер. Он их видит в сыром, не оптимизированном виде и она занимает значительно больше места, чем сохраненный из нее на диск растровый файл в оптимизированном формате.
Возвращаясь к нашему примеру, с двумя гигабайтами «мозгов», 1.95 из которых уже заняты метаданными после финального рендеринга, посчитаем что в ОЗУ осталось свободными всего 50 мегабайт. В то же время процесс формирования растрового файла требует, например, 60 или 70 мегабайт и конечно же он не может быть произведен с помощью всего пятидесяти
Хотя на практике речь идет скорее о сотнях мегабайт. Чуть позже мы вернемся к этому.
Какой из этой ситуации выход?
Самый рациональный это покупать больше оперативной памяти и использовать 64-битную операционную систему.
Менее рациональный, это рендерить сцену без использования фрейм буфера, сохраняя рендер на жесткий диск в сыром виде (raw формате) и позже формируя из него растровый файл.
Делается это так:
1 - Заходишь в настройки фрейм буфера, - свиток V-Ray:: Frame buffer.
Далее там убираешь галочку Render to memory frame buffer и активируешь галочку Render to V-Ray raw image file.
Таким образом, ты отключаешь формирование большого полноразмерного превью во фрейм буфере, тем самым экономя ОЗУ на этой функции, а также включаешь запись сырой информации об отрендеренном изображении в специальный RAW файл, а именно в .vrimg формат.
Жмешь кнопку Browse и указываешь имя и папку, в которую будет сохранен отрендеренный vrimg файл.
Разумеется, ты не увидишь без фрейм буфера процесс рендеринга. Как выход, ты можешь включить опцию Generate preview, для того чтобы формально наблюдать за процессом рендеринга с помощью маленькой превьюшки. Включение этой функции в любом случае опционально и обязательным не является.
Затем запускаешь рендер и ждешь, когда он просчитается.
Когда просчет окончен, по указанному тобою пути рендерер сохранит .vrimg файл.
Вот теперь обрати внимание на его размеры. Думаем, теперь тебе станет более наглядно то, сколько оперативной памяти требуется рендереру, для формирования пиксельного массива и сохранения его в растровый формат
Все что осталось сделать, это воспользоваться вьювером 3ds Max.
В главном меню 3ds Max найди раздел File, а там отыщи пункт View Image File.
Запусти его и укажи сохраненный тобою .vrimg файл.
Откроется максовский фрейм буфер с нужным тебе изображением, которое ты и сохраняй в любой необходимый тебе растровый формат
Ошибка, выдаваемая V-Ray cannot create bitmap означает, что в оперативной памяти твоего компьютера просто не осталось места для формирования растрового массива (совокупности пикселей изображения) для сохранения его в нужный тебе растровый формат. Попросту у тебя не хватает ОЗУ для этой операции.
Вот абстрактный пример. Предположим, что в системе установлено 2Gb ОЗУ. Мы загружаем 3ds Max и начинаем процесс рандерига. Рендерим картинку размером 3000 на 2000 пикселей. При этом на все операции рендеренга уходит 1.95 гигабайта оперативной памяти. Разумеется, что по окончанию рендеринга данные этих операций не очищаются из ОЗУ, так и продолжая по прежнему находится там.
Теперь, при попытке сохранить рендер, 3ds Max и V-Ray пытаются, из сырой информации во фрейм буфере, сформировать растровый файл. Они начинают грузить информацию о будущих пикселях в ОЗУ и сталкиваются тем, что для этой операции не хватает там места.
Многие удивляются, чего же так, ведь даже большое изображение, например то же 3000 на 2000 px в формате jpg занимают всего каких-то пару мегабайт? Дело в том, что если пересохранить эту картинку из оптимизированного jpg в линейный bmp формат, то она будет занимать намного больше мегабайт.
Примерно так же линейно видит информацию о пикселях и рендерер. Он их видит в сыром, не оптимизированном виде и она занимает значительно больше места, чем сохраненный из нее на диск растровый файл в оптимизированном формате.
Возвращаясь к нашему примеру, с двумя гигабайтами «мозгов», 1.95 из которых уже заняты метаданными после финального рендеринга, посчитаем что в ОЗУ осталось свободными всего 50 мегабайт. В то же время процесс формирования растрового файла требует, например, 60 или 70 мегабайт и конечно же он не может быть произведен с помощью всего пятидесяти
Хотя на практике речь идет скорее о сотнях мегабайт. Чуть позже мы вернемся к этому.
Какой из этой ситуации выход?
Самый рациональный это покупать больше оперативной памяти и использовать 64-битную операционную систему.
Менее рациональный, это рендерить сцену без использования фрейм буфера, сохраняя рендер на жесткий диск в сыром виде (raw формате) и позже формируя из него растровый файл.
Делается это так:
1 - Заходишь в настройки фрейм буфера, - свиток V-Ray:: Frame buffer.
Далее там убираешь галочку Render to memory frame buffer и активируешь галочку Render to V-Ray raw image file.
Таким образом, ты отключаешь формирование большого полноразмерного превью во фрейм буфере, тем самым экономя ОЗУ на этой функции, а также включаешь запись сырой информации об отрендеренном изображении в специальный RAW файл, а именно в .vrimg формат.
Жмешь кнопку Browse и указываешь имя и папку, в которую будет сохранен отрендеренный vrimg файл.
Разумеется, ты не увидишь без фрейм буфера процесс рендеринга. Как выход, ты можешь включить опцию Generate preview, для того чтобы формально наблюдать за процессом рендеринга с помощью маленькой превьюшки. Включение этой функции в любом случае опционально и обязательным не является.
Затем запускаешь рендер и ждешь, когда он просчитается.
Когда просчет окончен, по указанному тобою пути рендерер сохранит .vrimg файл.
Вот теперь обрати внимание на его размеры. Думаем, теперь тебе станет более наглядно то, сколько оперативной памяти требуется рендереру, для формирования пиксельного массива и сохранения его в растровый формат
Все что осталось сделать, это воспользоваться вьювером 3ds Max.
В главном меню 3ds Max найди раздел File, а там отыщи пункт View Image File.
Запусти его и укажи сохраненный тобою .vrimg файл.
Откроется максовский фрейм буфер с нужным тебе изображением, которое ты и сохраняй в любой необходимый тебе растровый формат
MAX #1099, 359 дней назад
Спасибо за подробный ответ... У меня стоит windows7х64 и 4 Гб оперативной памяти... Не подскажите на сколько рациональнее всего увеличить оперативную память чтоб в дальнейшем не возникало такой ошибки?
RenderStuff #1100, 359 дней назад
У нас во всех рабочих станциях установлено по 8 гигабайт ОЗУ. Такой ошибки - не возникало ни разу.
Установка 8-12 гигабайт оперативной памяти станет решением этой проблемы
Установка 8-12 гигабайт оперативной памяти станет решением этой проблемы

kayaya #2754, 123 дня назад
Вот это ответ, не часто в нэте сталкиваешься со столь подробным и грамотным описанием решения проблемы! Все четко и по существу. Спасибо за помощь нуждающимся)))
Жанна #3847, 12 дней назад
спасибо,попробую! А готовую картинку с этой ошибкой уже никак не сохранить??
Подписаться на комментарии этого обсуждения
Оставить комментарий
Использование Премиум 3D моделей RenderStuff – отличительная черта профессионалов, которые ценят свой труд и не растрачивают свое терпение на то, что уже было сделано для них:
Используя содержимое этого сайта, Вы соглашаетесь с данными условиями:
ПЕРСОНАЛЬНОЕ ИСПОЛЬЗОВАНИЕ
Вы можете свободно использовать скачиваемый контент, а также информацию из статей (уроков) и 3d рендеры (изображения) в своих личных проектах и сценах. Работая с материалами сайта, Вы можете изменять их на Ваше усмотрение при условии, что это делается исключительно для личных проектов.ПРОДАЖА
Вы НЕ можете продавать какой-либо контент в измененной или неизмененной форме, как самостоятельный продукт или в сборе коллекций, если обратное не указано в описании. Использование 3d моделей RenderStuff как основы для создания производных 3d моделей и их дальнейшей продажи запрещено.КОММЕРЧЕСКОЕ ИСПОЛЬЗОВАНИЕ
Запрещено использование бесплатных 3d моделей и любых файлов из скачиваемых архивов (*.zip) в коммерческих целях. Не используйте бесплатные 3d модели в коммерческих (оплачиваемых) проектах в модифицированной или исходной формах, если обратное не указано в описании. Вы можете свободно использовать 3d рендеры (изображения) с этого сайта в коммерческих проектах.РЕПУБЛИКАЦИЯ
Вы можете размещать статьи (уроки) и 3d рендеры (изображения) с данного сайта ТОЛЬКО при условии наличия видимой dofollow гиперссылки на ru.renderstuff.com как автора. Републикация, обмен и распространение бесплатных 3d моделей запрещено. Вы не можете распространять каким-либо образом производные 3d модели, сделанные с использованием любой 3d модели RenderStuff как основы.Все логотипы и торговые марки принадлежат их владельцам и используются только в идентификационных целях.
