ToTTenTranz disse:
Da última vez que a nVidia construiu uma peça de hardware que não ia de acordo com os standards (NV1, "processava" quadrados em vez de triangulos), quase que ia à falência..
As vantagens de uma arquitectura unificada são óbvias. Um developer tem a liberdade de escolher se quer usar um ou outro tipo de efeitos. Ao não aderir a este tipo de arquitectura a nVidia está a forçar os developers a ter em conta o nº de pixel vs vertex shaders.
Primeiro:
Não eram "quadrados", mas sim "quadráticas":
http://www.sci.utah.edu/~gk/vis03/
A MS decidiu seguir os triângulos porque as julgava demasiado avançadas para o seu tempo, mas até a ATI tentou depois uma das suas vertentes, com o
Truform.
Quanto ao facto de serem ou não unificadas, tem a liberdade de escolher sim, mas também tem a "obrigação" de programar se o pipeline vai ser usado para vertex ou pixel shading, o hardware por si só não sabe isso e tem de ser programado para fazer uma ou outra função, criando mais uma camada de software, logo, mais latência, logo, menos velocidade.
Na Xbox 360, tal como já se faz nos drivers actuais da nVidia e ATI, parte do vertex shading é desviado da GPU para a CPU, como forma de anular essa limitação.
Além disso, como a X360 é uma arquitectura fechada, é muito mais fácil prever se o vertex shading ou o pixel shading numa situação concreta é suficiente ou não.
Num PC, o jogo não pode ser feito a pensar que o user tem multi-core, tudo topo de gama ou muita ou pouca memória, simplesmente não sabe.
Um exemplo concreto já existe:
Como é que a 7800 GTX e a X1900XT são ambas compatíveis com Shader Model 3.0, se a arquitectura dos pipelines/ALU's, dos ROP's e do controlador de memória são completamente diferentes entre si, e, sendo segredo industrial, não podem ser copiadas pelo concorrente ?
Pois é, são compatíveis nas camadas de software (API) que suportam (DirectX 9.0c e OpenGL 2.0), mas o modo como chegam lá é completamente diferente.
Assim, se o software só sabe que está a correr em DirectX 10, nem precisa de ser programado para reconfigurar os pipelines para vertex ou shader, o scheduler da GPU trata disso
on-the-fly.
Acho que a principal vantagem é ter o DX 10 pronto bem cedo, começando as equipas de software a programar em Shader Model 4.0 e, tal como no Shader Model 3.0, começam a fazê-lo primeiro e a optimizá-lo em hardware nVidia, é curioso...