300dpi x memória Problema sem solução??

Por: rabellogp  

Em: 02/02/2007 09:45

Saudações, pessoal! Eu acho que esse problema não é nenhuma novidade aqui, a maioria dos que trabalham com computação gráfica para qualquer finalidade já deve ter se deparado com a desconfortável situação de se renderizar algo com mais de 300dpi no MAX. A questão é que apesar de simples na teoria, esse processo é um pesadelo na prática. Dificilmente significará um simples ajuste na resolução e um clique saudável no bulezinho do MAX e sair pra tomar um café. A quantidade de memória que uma cena desta resolução consome é um absurdo para a maioria dos PCs da turma que trabalha com maquete eletrônica por exemplo. Há muito tempo eu venho procurando uma solução para esse problema - com pouca devoção, eu confesso, pois não tenho muito tempo - mas ultimamente resolvi terminar de uma vez por todas com isso. Porém, em todas as discussões que participei sobre o assunto, não cheguei em conclusão alguma. Dependendo da cena, do render, iluminação e etc... o PC pode até tocar de uma vez. Mas se utilizar o Mental Ray, com displace na grama e FG, com certeza a coisa será mais complicada. Quando se tem essa dúvida, uma das primeiras sugestões que se recebe é: "Coloque mais memória". Sim! Realmente memória é essencial, mas isso não resolve o problema, apenas alivia a dor (além de ser caro). Meu sistema tem 2gb de ram e utilizo o esquema dos 3gb do Windows para poder rodar o programa com o máximo de memória possível em um sistema 32bits (contando a memória virtual). Ok, problema resolvido! Não, não... Por incrível que pareça, a coisa mais fácil que tem é estourar esses 3gb (e olha que eu já otimizei ao máximo que pude a minha cena, deletei os objetos que não aparecem na perspectiva, diminuí a resolução do displace do Mental, ativei o bitmap Pager e Proxies para texturas grandes)... Precisava encontrar uma forma de renderizar uma cena em varios passos, automaticamente, demoraria mais, mas aliviaria a memória. Eu poderia abandonar o Mental Ray, fazer a cena no Vray ou Skyline e tentar conseguir o mesmo resultado, mas eu não quero abrir mão da qualidade que consegui obter com tanto tempo de estudo esse Render, descartei essa opção. Então resolvi procurar eu mesmo no programa uma forma de resoler isso, se encontrasse, poderia divulgar aqui e acabar de uma vez por todas com esse dilema de uma forma objetiva e viável para todos nós, no Render que seja, no PC que seja... Encontrei basicamente duas soluções: - A primeira consiste em um recurso do Mental Ray chamado ''Render Passes''. Aqui, pode-se renderizar a cena em vários passos e, no final, mandar o Render unir tudo em uma cena completa. Quando li isso fiquei feliz da vida, resolvi meu problema, era exatamente o que eu procurava! Minha decepção surgiu, porém, quando descobri que não existe outra forma de faze-lo que não seja selecionando parte por parte da cena com o ''Region'' do ''Render Type''. Eu gosto desse ultimo recurso, o Render Type é minha salvação para fazer testes em que não é necessária uma renderização da cena por completo, mas é pouco prático para compor a cena da maneira que procuramos. Dessa forma, a única novidade desse Render Passes em relação ao que sempre fiz é que ele une tudo sozinho no final, poupando-nos da junção das partes no Photoshop. Sem contar a imprecisão do "Region". Inevitavelmente, ao selecionar as partes da imagem a serem renderizadas, você estará selecionando um pedacinho da anterior, para não correr o risco de deixar uma parte sem render, e tem que tomar cuidado para não selecionar um pedaço grande demais, extrapolando a memória... e tem o desconforto de precisar acompanhar o render de todas as partes, do começo ao fim porque não há um recurso que automatize o processo. Mas se esses fossem os únicos inconvenientes, estaria satisfeito até.. o problema maior é que renderizando a cena em partes selecionadas com o ''Region'', surgem artefatos no FG do Mental Ray. Creio que isso se deve ao fato do render calcular o FG somente para a parte selecionada. Ao juntar as partes, surgem visíveis ''emendas'' na imagem, com diferenças de iluminação. - A segunda me atraiu bastante. Trata-se de uma maneira de renderizar em rede, dividindo as tarefas.. porém com somente um PC. Pelo que eu li, poderia-se mandar as tarefas para um mesmo computador para que ele fizesse em ordem e unisse tudo ao fim, como se fosse uma rede com vários PCs (que fariam ao mesmo tempo tarefas diferentes cada um). O problema é que não obtive sucesso ao tentar configurar o Backburner Manager (programa para configurar a rede com o Max). Mas isso deve ser algo que não tenha a ver com o MAX, e sim com meu sistema, o programa simplesmente não abre, preciso estudar mais isso. Bom, nesse impasse, tenho um trabalho para entregar na segunda feira. 7 ângulos diferentes em 300dpi em uma A4, terei de fazer unindo as partes com o Region mesmo, e corrigindo os artefatos no Photoshop... É lamentável que se tenha de perder tanto tempo com processos que poderiam ser automatizados pelo MAX. Nem deixar o PC renderizando à noite eu posso, pois tenho que acompanhar cada pedaço da cena, que fica pronto de 20 em 20 minutos, para selecionar o próximo. Talvez eu nem tenha razão para estar me queixando aqui, sem ter conhecimento pleno do programa mas dificilmente eu me contento com esse tipo de solução para meus problemas, não descanso até encontrar a forma correta de se fazer algo, foi assim que aprendi o que eu sei hoje. Talvez não tenha habilidade o bastante para otimizar meus projetos, apesar de sempre ter me preocupado com o mínimo excesso de vértices, complexidade da iluminação, configuração do FG, GI e tamanho das texturas, procurando sempre o caminho mais leve... Peço desculpas pelo desabafo, pessoal. Se alguém souber ou encontrar a solução para esse problema, peço que divulgue aqui para nós. Vou continuar pesquisando sobre isso e, assim que conseguir algo concreto, colocarei um tutorial aqui... Abraços.
Oi Gigahz...eheh...fica tranquilo ...esta no lugar certo. Bem...meu pc tem uma config bem bascia Athlon 2.6 c 1Gb...e isso q aconceteu contigo e muito mais corriqueiro comigo! Uso atualmente o Vray (estou aprendendo ainda) ja aconteceu casos em q quis por uma arvore 3D bacana e n pude...por esgotar minha mem...tentei o render region..abandonei tb...agora estou tentanto aprender como usar o vray proxy q dizem q ajuda muito nesses casos...enfim..eheh.....sou solidario contigo...um pc c uma configuracao boa pelo q pesquisei (quero melhorar ou trocar o meu) bate na casa dos 4 mil...e isso e bastante dinheiro (pelo menos pra mim).
Vivendo e aprendendo!!!
Oi Gigahz, tudo bem? Muito mais importante que um ótimo equipamento é o conhecimento que a pessoa tem do Render. No Mental Ray tem muitas formas de contornar problemas com cenas pesadas, muitas mesmo, não é como no V-Ray ou Brazil Render, pois você pode até usar Shaders e controlar idividualmente a qualidade de GI e FG em cada objeto da cena. Então, poderia até animar a diferença de qualidade de render para objetos próximos da câmera e distantes durante a animação, coisa que é completamente impossível em outros renderizadores. Pode usar geometria Proxy com o Shader Is MI Object, tem muitas opções, mas a maioria depende de um alto grau de conhecimento do render, pois normalmente usam Shaders de terceiros. E ainda tem as opções mais simples, como a configuração do Trace Depth, as configurações de paginação e otimização de memória do Mental Ray, são tantas opções que fica até difícil lembrar de todas e descrever aqui, poderia por exemplo mandar o Mental Ray renderizar várias regiões da imagem e salvar como pass. Depois, o próprio Mental Ray montaria a imagem em alta resolução para você com base nestes pass. Não tem o menor problema do ajuste da área do Region que você disse, porque o Mental Ray renderiza além da área marcada para poder compor a imagem final perfeitamente, portanto, mesmo que erre no acerto do Region, ficará certo no final. E sobre os artefatos, então, tem alguma coisa de errada ai, porque comigo nunca aconteceu, sempre calculou perfeitamente os Photons e o Final Gather, ou você está usando apenas Final Gather em cenas internas, isso não é o indicado. Agora, se tem diferença na iluminação de um pass para outro, então, a qualidade do GI no Mental Ray está mau configurada, está muito baixa. Eu explico tudo isso no vídeo curso de Mental Ray aqui da 3D1, explico detalhadamente. Mas é impossível de fazer renderizações complexas em tempo viável usando apenas um PC, por melhor que seja o processador e por mais RAM que tenha. Para trabalhar profissionalmente precisa de mais de um PC ligado em rede para o render, um só não dá, até porque terá que ficar parado enquanto renderiza e pode levar várias horas. Com dois PCs em rede renderizando por Distribuited Render, só é enviado para a máquina o bucket que está sendo renderizado naquele momento. Se tiver 10 PCs em rede, o render será 10 vezes mais rápido. Mesmo que não possa ter todos os Max originais para poder usar o Distribuited Render do Mental Ray, poderá renderizar com o SPlit Lines pelo Backburner. Mas se ele não está abrindo ai, então, o problema deve ser mais grave e não deve estar diretamente relacionado com o Mental Ray. E o Mental Ray é super sensível, se o seu sistema operacional está com problemas e não abre nem o Backburner, pode ser que também esteja influenciando negativamente no desempenho do Mental Ray. Ter um sistema exclusivo para trabalhar com 3D e enxuto, é muito importante para evitar problemas estranhos e desagradáveis. Ainda tem muitas outras opções que usamos muito em animações, como renderizar os Elements e montar depois no Combustion, dessa forma, além de mais leve o render, teria controle sobre tudo na pós depois para ajustes, poderá até trocar a textura de um objeto respeitando o mapeamento. Então, opção é o que não falta quando renderiza pelo Mental Ray. Abraços
Fala gente, obrigado pelo apoio.. felizmente consegui terminar com sucesso esse projeto, apesar de passar sempre raspando de um pau por falta de memória. O que me salvou foi o Bitmap Proxies, que permite dar ''limpada'' na memória utilizada pelo render ao diminuir as texturas excessivamente grandes. A maioria das texturas que utilizo são feitas por mim mesmo com uma máquina digital e Photoshop, e gosto sempre de salvá-las em alta resolução caso queira fazer imagens bem de perto no MAX. Fatalmente, todas essas texturas são carregadas na memória na hora de renderizar, mesmo que o objeto esteja distante da câmera. Mas o displace do Mental Ray foi o que realmente estava pesando aqui, a divisão da malha estava muito alta, mesmo sendo o mínimo que consegui - após muitos testes - para dar um efeito convincente de grama. Então resolvi renderizar separadamente o gramado do restante da cena (outras vezes renderizei em 3 partes: gramado, vegetação e o resto), ocultando o resto e fazendo a composição com o canal Alpha no Photoshop. É claro que depois, ainda mais pela alta resolução, alguns retoques são necessários no pincel para não matar os detalhes, e são os detalhes que fazem a diferença. Abaixo, algumas imagens do trabalho finalizado.. e obrigado pela atenção galera.
Oi Gigahz, tudo bem? Parabéns pelas imagens, muito boas, posta na seção Imagens e Animações, assim, vai para a Galeria. Agora, sobre o problema de render, quando falou das texturas em altíssima resolução, então, está resolvido o problema. A otimização da cena deve ser feita nos mínimos detalhes, tudo conta. Texturas em alta resolução ocupam muita memória, poderá até ligar o Use Mental Ray Map Manager na ficha Processing da janela Render Scene, não vai dar erro de memória mais, porque só vai ler a textura que está usando naquele momento, só que isso faz ler as mesmas texturas várias vezes, o que dexará o render mais lento. Então, sempre vale economizar em tudo para não ter problemas. Para trabalhar com muitas texturas em alta resolução, então, precisa ser num sistema de 64 bits com muita RAM. Sobre o Displacement, no vídeo curso do Mental Ray eu dou uma dica bem boba para ajudar a economizar RAM, se você subdividir mais a malha, poderá usar valores menores no Edge Lenght e economizar subdivisões do Displacement. Da mesma forma que uma imagem realista depende de vários fatores, modelagem, texturização, iluminação, ajuste do render e tudo mais. Um bom tempo de render e sem problemas depende de vários fatores, depende de economizar em tudo, usar apenas o necessário em tudo, porque assim sempre vai conseguir o melhor resultado no menor tempo possível e sem problemas. Abraços

Faça o login para poder comentar

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 711108.

Total de membros registrados: 138596

Últimos membros registrados: BCinelli, Ricardoodrak, otaviorfs, Matrixas, ocivan03, cardioton, lumileanukprice, iqblastpro.

Usuário(s) on-line na última hora: 719, sendo 1 membro(s) e 718 visitante(s).

Membro(s) on-line na última hora: JesusEnzo .

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2024. Todos direitos reservados.