Ir ao conteúdo
  • Cadastre-se

Real poder das GPUs?


Cassiano Silva

Posts recomendados

Primeiramente peço por favor paciência.

Abri este tópico para discutir o que as GPU podem fazer, e não o que ultimamente os desenvolvedores vazem (isto não é um julgamento), num review da Nvidia Geforce GTX 580 Nvidia GeForce GTX 580 (GF110) | Bjorn3D.com. Segundo a Nvidia a VGA gera até 2000 M triângulos devido as unidades de Polymorph Engine que são 16 ao todo, se não fossem elas todas 512 unidades cudas ficariam ocupas só na geometria, contudo a técnica de Tesselação pode ser realizada sem a unidades especiais, através de programação de Shader (GPU), a Ferramente (na verdade um estudo) pode provar isso no site de um desenvolvedor Xvox demo e num post GTX 580 GPU-Tech.org - GF100 vs. Archmark - 3.51 Triangles per clock

Baixei esta ferramenta e testei, abaixo o resultado de um humilde VGA dx 11, GTX 550 Ti

~794,54 M Triângulos/segundo a 60 FPS e usando filtro textura Trilliar

73412919.png

Agradeço a colaboração de todos :bigs:

Link para o comentário
Compartilhar em outros sites

sem contar também no processamento paralelo como você disse ( o CUDA ), as novas GPU's AMD estão saindo com a GCN que desvia o trabalho do processador para a GPU quando o uso da CPU passa a exigir mais que sua capacidade em full load, isso sim é uma coisa boa pois pense bem; uma GPU com 48 shader core ( seria os núcleos dela certo? ) contra no maximo 16 núcleos de uma cpu de hj atual, tem um nivel elevadissimo de performance, mesmo sendo somente para graficos e videos... Agora com essas tecnologias de processamento paralelo, um dia ao meu ponto de vista se tivermos um processador de uns 4 cores e uma gpu excelente, o computador nao perderá performance por causa de que como a gpu tem a tecnologia paralela de processamento, parte dos processos poderá ser enviada a ela, mas isso é claro depois de muito trabalho e paciencia dos desenvolvedores, pois desviar trabalho de CPU pra GPU n deve ser fácil... segue um link da GCN:

e outra, nenhuma GPU só tem 48 shader cores, outras tem mais e outras tem menos ( ÓBVIO ) ouvi dizer que aquelas VGA da Trident beeeem antiga slot PCI simples tinham somente 2 shaders!!!

Link para o comentário
Compartilhar em outros sites

Vou dar minha contribuição ao tópico. Deixo claro que minha intenção não é causar nenhum tipo de discórdia. Apenas acrescento um outro lado da história.

.... Segundo a Nvidia a VGA gera até 2000 M triângulos devido as unidades de Polymorph Engine que são 16 ao todo, se não fossem elas todas 512 unidades cudas ficariam ocupas só na geometria ...

Infelizmente, boa parte dos estúdios de jogos hoje estão mais preocupados com dinheiro do que com a qualidade do produto entregue. Sempre existe espaço para otimizar uma aplicação (vide o Crysis 1 no lançamento. Era 2x mais pesado do que no último patch), mas nem sempre o desempenho ganho vale o esforço.

Vamos dividir o problema em duas partes:

* Uma empresa produz a engine, responsável pela renderização. Para chegar a esse output, seria necessário otimizar todos os passos da renderização (desde interpretação do modelo em um espaço 3D, passando pelo cálculo de iluminação chegando a composição da cena final e aplicação de shaders). Isso, para CADA arquitetura 3D disponível no mercado. Seria praticamente como construir uma engine para a série 400/500 da nVidia, outra para a série 600, outra engine para a série 4000 da AMD, outra pra 5000/6000 e outra para a 7000HD. Todas elas fazendo a mesma coisa e tirando 100% da capacidade da GPU.

*Uma softhouse precisaria produzir mapas, scripts, tirando os shaders (HLSL se for DirectX ou GLSL se for OpenGL), para cada modelo de GPU acima.

Um jogo extremamente otimizado levaria no mínimo 3x o ciclo de produção atual. O produto final custaria horrores, assim como a tecnologia usada na produção estaria obsoleta no lançamento.

Agora pense um videogame, no qual o hardware não muda. Tudo que foi dito acima muda. Todas as otimizações são necessárias (ainda mais no final do ciclo de vida da geração) para continuar batendo de frente com os upgrades que os PC recebem semestralmente.

...as novas GPU's AMD estão saindo com a GCN que desvia o trabalho do processador para a GPU quando o uso da CPU passa a exigir mais que sua capacidade em full load ... uma GPU com 48 shader core ( seria os núcleos dela certo? ) contra no maximo 16 núcleos de uma cpu de hj ...

... aquelas VGA da Trident beeeem antiga slot PCI simples tinham somente 2 shaders !!!

Cuidado ao imaginar que uma GPU pode fazer o trabalho de uma CPU. Uma CPU é uma unidade de processamento genérica, ela pode fazer praticamente TUDO, enquanto uma GPU é uma unidade de processamento especializada, ela faz bem feito uma única determinada tarefa, mas não sabe se virar em todos os casos.

As tecnologias CUDA/OpenCL desviam o trabalho da CPU para a GPU, mas dependem do desenvolvedor para funcionar. O desenvolvedor precisa escrever uma tarefa CUDA (apenas nVidia) ou OpenCL (pode ser compilado para nVidia, AMD, X86, X86, IA-64) e chamar essa tarefa no meio da aplicação. Nota-se que a CPU vai ser ocupada mesmo assim, afinal ela precisa coordenar o trabalho da GPU que não possui autonomia.

Vamos fazer uma analogia:

* A GPU é um falcão: voa extremamente rápido. Se jogar na água, afunda. Se tentar andar tropeça.

* A CPU é um pato: voa, anda e nada. Mas não faz nada direto.

Cuidado ao falar da trident como exemplo: Ela tinha 2 unidades. 1 pixel pipeline e 1 TMU. Vertex e Pixel shaders só apareceram no DirectX 8 / OpenGL 2.0. O DirectX 10 / OpenGL 2+ simplesmente unificou os shaders (transformou os "pixels shaders falcão" e "vertex shaders falcão" em "shaders pato").

Link para o comentário
Compartilhar em outros sites

Agradeço a colaboração, já no caso dos consoles realmente é muito melhor trabalhar por existir um padrão definido. Porém uma coisa que observei e depois vou deixar melhor descrito, sobre engine...assino em baixo que usar as capacidade de uma GPU de varios modelos e arquiteturas é impraticável, contudo uma engine que fosse extremamente customizável, que podessemos até alterar quantos triângulos podem ser usados nos objetos, entre outras coisas, e que a engine recebesse constantes atualizações "patch" para se adequar a novas aquiteturas creio que é viavel, vide a Unreal Engine desde o lançamento do xbox 360, sofreu poucas alterações, essas para adicionar efeitos e outras coisas mas não pra se adequar a novas arquiteturas.

A coisa até hoje que me deixa com dúvida foi o crysis 1, dx 10, poream as texturas não distorciam nem com o zoom da sniper, já o crysis 2 com dx 11 ainda distorce e nem precisa de luneta..

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!