Guia de Otimização de Renderização de GPU

Quando você finaliza um trabalho e vai renderizar a imagem, percebe que a GPU tem demorado mais do que o normal, ocorrem falhas, ou tem aumentado a frequência de renderização incorreta? A necessidade de otimização no processo de renderização da GPU está presente, e acredite ou não, recomendamos fortemente a redução do uso de memória para tal.

Quais os Efeitos da RAM na Velocidade da Renderização?

Os efeitos variam quanto à capacidade de RAM, pois os maiores responsáveis são a GPU e CPU. Entretanto, se o sistema não possuir uma quantidade de RAM para a demanda, precisa-se um aumento da capacidade, resultando numa visível diferença na velocidade de renderização da GPU.

Com esse aumento de RAM, o sistema pode alocar mais subsídios da memória, trabalhando mais eficientemente. Com uma melhor velocidade de renderização, podem-se cumprir prazos, reduzir custos e acima de tudo, ganhar tempo.

otimização de renderização da GPU

Redução do uso de RAM na Renderização

As perdas podem ocorrer devido a uma falha de cena, devido ao uso elevado de RAM, assim como um processo de renderização lento também pode originar um problema oriundo do alto uso de RAM. Sendo “randômica”, ela é utilizada quando solicitada pelo programa, ocorrendo inúmeras vezes no processo de ler e gravar os dados temporariamente nos discos rígidos, que por sua vez, são mais lentos que a RAM.

Há também a possibilidade de perda resultante de um aumento repentino de utilização de RAM, gerando mensagens de erro, janelas piscando, erro de renderização, lentidão do sistema, etc.

No entanto, podemos reduzir o uso de RAM aplicando truques antes do início do processo de renderização, e isso é importante para a renderização de GPU.


A imagem abaixo apresenta um erro causado pelo alto consumo de RAM. Podemos observar que a quantidade de uso da memória teve um aumento significativo.

Diferentemente de uma CPU, a GPU consegue processar tarefas simultaneamente ao invés de linearmente. Esse modo de paralelização torna-se ideal para o processamento das renderizações em seções no mesmo momento.

As GPUS não dependem da RAM pelo fato de que utilizam sua própria memória, chamada VRAM. Afinal, toda GPU possui, vinda de fábrica, uma quantidade limitada dessa memória. Portanto, independentemente de utilizar mais que uma placa gráfica na renderização de GPU, o mecanismo de renderização utilizará apenas a VRAM da placa com a menor quantidade de RAM.

NVLink na Renderização de GPU

Para sanar o problema do uso de RAM da GPU com menor quantidade, surgiram novas tecnologias para atender a necessidade de compartilhamento da RAM, como por exemplo, o NVLink, que habilita a possibilidade de várias GPUs utilizarem a VRAM de cada placa, o que vem de encontro com a otimização com o processo de renderização.

otimização de renderização da GPU

Aqui podemos ver como se dá o funcionamento dessa tecnologia.

otimização de renderização da GPU

Dicas de Como Otimizar a VRAM e Reduzir o Uso Durante a Renderização da GPU? 

1. Escolha uma placa de vídeo adequada a sua real necessidade

A escolha da GPU tem interferência direta no processo de renderização, pois se você necessita renderizar cenas mais complexas e sua placa não é adequada, esse é o momento de atualizá-la, independente da eficiência da RAM do seu sistema. 

Quando a energia gráfica se faz necessária, a VRAM será utilizada, pois uma placa gráfica dependerá de sua VRAM e armazenará texturas gráficas e modelos 3D nela.

Identifique suas necessidades e substitua a GPU caso seja necessário. E como saber? Temos o texto “Como escolher uma placa de vídeo” no nosso blog que pode te ajudar.

2. Atualização da RAM

Assim como um software de renderização de GPU usa VRAM das placas gráficas, existem outros processos que são dependentes indiretos da RAM do sistema. Assim sendo, alguns programas de renderização podem usar recursos da CPU também (V-Ray, Blender’s Cycles).

Nos mecanismos onde os recursos de descarregamento são externos, é permitido que elementos de texturas sejam armazenadas primeiramente na RAM do sistema e posteriormente incrementadas na VRAM, evitando assim a obstrução da memória.

Detalhando:

16 GB poderão atender as demandas iniciais em trabalhos básicos de 3D;

32 GB é uma capacidade ideal para grande parte dos artistas 3D ou até de nível intermediário.

64 GB (ou mais) atendem às necessidades dos artistas em texturas grandes ou cenas mais complexas, pois elas precisam ser renderizadas com qualidade, assim como o trabalho em malhas de alto poly.

Quer saber mais sobre a RAM? Dá uma olhada nesse texto aqui e tire suas dúvidas.

3. Gerenciar o Polycount

Quanto maior for o número de polycounts, maior será o arquivo. Isso significa que ele demandará mais VRAM, ou seja, os arquivos grandes levam mais tempo no processo de renderização da GPU.

A renderização local não toma tanto tempo quanto a realizada em rede. Há um maior custo nas “fazendas” de renderização com esse tempo utilizado, da mesma forma ocorre com as texturas, onde pode ser reduzido o nível de subdivisão para objetos mais distantes.

4. Verificação e encerramento de aplicativos não necessários

Muitos aplicativos ficam abertos sem nenhuma necessidade, e o pior, consumindo a RAM do seu sistema. Feche aqueles que não sejam necessários. Eles atrapalham o processo de renderização por “segurarem” essa RAM sem motivos. A VRAM melhora o funcionamento do processo de renderização 3D, no entanto, renderizar em rede e manter serviços desnecessários rodando pode interromper a execução.

5. Explorar, Analisar e Alterar configurações indesejadas

Nesse ponto, parece algo que é muito básico, mas ele é deixado de lado por muitos profissionais. Uma configuração indevida ou sem relevância pode acarretar em problemas na renderização da GPU. Pois, algumas delas vão consumir VRAM ou tempo e não auxiliam no resultado. Então, explore todas elas e deixe apenas aquelas realmente necessárias para a execução de seus processos.

6. Reduzir o tamanho da textura baseada na distância

Grande parte do armazenamento é ocupado pelas texturas, então, deixe texturas das imagens mais próximas da câmera, e qualquer outro elemento para trás desfocado pela Profundidade de Campo, não precisará de detalhes que um mapa grande fornece. Use formatos de textura compactados, impactando no tamanho final do arquivo, no entanto, caso isso não reduza o tamanho (pixels), use a textura compactada para diminuir o tamanho da textura.

7. Modificadores de Otimização

Alterando algumas das configurações podemos reduzir o número de polys no modelo, porém, a distância dos objetos da câmera e de alguns outros elementos sobre o objeto pode interferir nisso. Por exemplo, polígonos altos somente são indispensáveis se houver a necessidade de criar maiores detalhes no modelo.

Objetos sem formas certas, como ondas do mar, não tem precisão de manter sua forma extremamente exata aqui, o modificador pode ser configurado para reduzir a contagem de polígonos. Atualmente, existem alguns modificadores que ajudam a reduzir o consumo de VRAM, tais como MultiRes Modifier, Prooptimizer Modifier, Optimize Modifier, Batch ProOptimizer Utility.

8. Uso de instâncias

Instâncias são objetos que se repetem em cena (grama, tijolos, árvores, etc.) que demandam apenas uma quantidade aproximada de RAM para renderização na origem. Em um programa de renderização, quando há a cópia de renderização de GPU, é criada uma outra malha que será armazenada em sua cena na RAM e no HDD, aumentando os números de polycount.

Criando uma  “instância”, o programa de renderização vai armazenar somente as informações de que uma cópia de uma malha está disponível em outro local da mesma cena, mas manterá armazenado apenas dados de uma única malha no arquivo de cena e na memória.

Usando esse modo de instância, é possível colocar um número maior de objetos copiados na cena, mas a quantidade de VRAM usada será do mesmo tamanho de arquivo de um único objeto e não de todas as cópias.

9. Separar elementos na cena

Renderizar separadamente o primeiro plano, meio termo e plano de fundo, para depois compô-los juntos, cria a possibilidade de que uma cena complexa seja renderizável em uma GPU, da mesma forma que outros elementos podem ser feitos. Dessa forma, facilitada a aplicação de modificadores ao modelo, caso seja necessário, resultando numa maior velocidade de renderização e redução de custos em rede usando o serviço da GPU.

10. Compressão de malha e animação

Compactar malhas e animações auxilia na redução de carga da CPU e GPU. Essa compactação pode ser definida para níveis baixos, médios ou altos de acordo com o seu modelo. A quantização é utilizada para compactar a malha e animação, ocupando menos armazenamento, mas a compactação pode ocasionar imprecisão.

11. LOD e distâncias de descarte por camada

O LOD faz com que os objetos selecionados fiquem invisíveis. Isso reduz a carga de CPU e GPU. Ele é muito utilizado em jogos, em objetos próximos e distantes com diferentes tamanhos.

12. Quando recolher modelos

A recolha dos modelos com modificadores, antes de renderizar a cena, reduz o consumo de VRAM, o tamanho do arquivo no disco e o tempo de renderização. Os modelos de GPU com modificadores aumentam a resolução da malha, são melhores não colapsados, pelo fato de que a densidade da malha pode ser corrigida se for muito elevada e juntamente com os arquivos que sobrecarregam menos o disco rígido.

Checklist de verificação rápida para aprimorar a experiência de renderização 3D
  • Distribua a maior quantidade possível de materiais entre vários objetos;
  • Diminua o tamanho do mapa de textura sempre que possível;
  • Otimize a geometria distante usando modificadores poli-redutores;
  • Use instâncias para modelos duplicados;
  • Feche aplicativos desnecessários.

Conseguiu fazer a otimização da renderização da sua GPU? Esperamos que tenha gostado desse conteúdo. Buscamos trazer o que há de mais recente ou relevante no mundo da tecnologia.

Link original: https://xesktop.com/gpu-rendering-optimization-guide/

Quer saber mais sobre workstations, computadores e tecnologia da informação? Continue acompanhando o nosso blog e redes sociais.

Está em busca de soluções personalizadas para workstations? Clique aqui e saiba mais!

WhatsApp