sexta-feira, 29 de julho de 2011

O processo de atualização do compositor nodes está em fase de conclusão, mas ainda precisa de sua ajuda



A primeira fase do projeto que está trazendo boas novidades para o Compositor está quase concluído. A primeira fase fez um monte de pessoas sorrirem, mesmo que o compositor ainda não esteja usando OpenCL. A fase dois vai dar-lhe uma composição acelerada com o OpenCL dentro do Blender! O maior desafio neste momento é que o financiamento para a fase dois não está terminado.

O compositor antigo só mostra a imagem final depois que ele é calculado. O usuário tem que esperar até a finalização do cálculo. Somente quando a imagem final é mostrada para o usuário, é que ele sabe qual é o efeito e pode trabalhar no mesmo. Isto pode levar um longo tempo, quando se trata de fazer pequenos ajustes nas configurações.

O compositor velho só usa um core-CPU para calcular cada node - o que, nos dias de hoje com computadores quadre-core, é um grande desperdício de tempo. Outro node pode ser calculado em outro núcleo. Mas, devido às dependências entre os nodes, na maioria das vezes apenas um ou dois núcleos são usados.

No novo compositor há sempre a apresentação do resultado ao usuário o mais rápido possível. Mesmo uma pequena área da imagem é calculada para que ela seja visível. O usuário pode então tomar a decisão e começar a modificar a configuração do node. O usuário pode ainda indicar uma área na imagem onde o compositor deve iniciar o cálculo.

A fase seguinte refere-se a fazer um melhor uso do hardware do PC. Os cálculos seriam então processados nos vários núcleos das CPUs. Toda a história promete, então se você quiser ajudar, clique aí abaixo que o nosso Blog irá levá-lo à página oficial do projeto de atualização. Lá você encontrará um link onde poderá realizar a sua doação. Lá dentro clique na imagem que contém a palavra "Donate". Toda a comunidade Blender agradece.


Mas... e o que é OpenCL?
OpenCL (Open Computing Language) é uma arquitectura para escrever programas que funcionam em plataformas heterogéneas, consistindo em CPUs ("Central Processing Unit" ou "Unidade central de processamento, em português), GPUs ("Graphics Processing Unit", ou Unidade de Processamento Gráfico em português) e outros tipos de processadores.

OpenCL inclui uma linguagem (baseada em C99) para escrever núcleos (funções executadas em dispositivos OpenCL), além de APIs (sigla para "Interface de Programação de Aplicativos" em inglês) que são usadas para definir e depois controlar as plataformas heterogênea. OpenCL permite programação paralela usando, tanto o paralelismo de tarefas, como de dados.

Ela foi adotada para controladores de placas gráficas pela AMD/ATI, que a tornou a sua única oferta de GPU como Stream SDK, e pela NVIDIA, que oferece também OpenCL como a escolha para o seu "Compute Unified Device Architecture" que é a CUDA (ou a arquitetura de computação paralela da NVIDIA que possibilita aumentos significativos na performance de computação pelo aproveitamento da potência da GPU) nos seus controladores.

A proposta OpenCL é similar às propostas OpenGL e OpenAL, que são padrões abertos da indústria para gráficos 3D e áudio, respectivamente.

Agora que você já matou a curiosidade, veja o que tudo isso significa na prática. O vídeo abaixo é um exemplo de uso do OpenCL no Compositor rodando numa máquina com processador i7 920 e com uma NVidia GS220.


Links relacionados

Nenhum comentário:

Postar um comentário