Parece que os dois grandes fabricantes de GPUs estão constantemente lançando drivers atualizados com um pequeno aumento de desempenho aqui e ali. Quando eles são para o mesmo jogo, aposto que isso aumenta com o tempo.
Com isso em mente, por que nunca ouvimos falar sobre os drivers de CPU da AMD ou da Intel para um determinado aplicativo ou versão do Windows ou algo assim?
Respostas:
Em primeiro lugar, às vezes há casos em que um patch de driver é lançado que pode aumentar o desempenho ou aumentar a eficiência de uma determinada CPU. Mas, obviamente, você está fazendo essa pergunta porque simplesmente não é tão comum. O que as otimizações do driver da CPU fazem é semelhante em conceito, no entanto.
Uma GPU é um circuito muito complicado. Existe para descarregar determinadas tarefas que demoram muito tempo em uma CPU. Eles recebem conjuntos de dados e instruções sobre o que fazer com esses dados. A GPU deve poder solicitar os dados de uma maneira que seja gerenciável e interpretar as instruções para dizer o que fazer. Em seguida, ele deve executar uma série de operações matemáticas nos dados. Depois disso, ele deve reordenar os dados novamente e enviar os resultados de volta ao sistema operacional quando estiver completo. Esta é uma descrição muito simplista do pipeline de computação gráfica . Existem várias etapas que devem ser tomadas antes que os dados estejam prontos para o programa.
Agora, como a GPU deve aceitar conjuntos de instruções e implementar operações matemáticas muito complicadas no hardware, há certas coisas conhecidas por correr mais rápido ou mais devagar nesse pipeline. Parte da gravação de um driver para um dispositivo está interpretando dados e instruções enviadas ao dispositivo, convertendo-os para que o dispositivo possa entendê-los. Quando um driver está fazendo isso, ele pode tomar decisões sobre como enviar os dados para o dispositivo, para que as tarefas levem o menor tempo possível. No entanto, um driver geralmente não possui muitas informações sobre o que o programa está executando. Tudo o que recebe do programa são as chamadas da API ("desenhe uma linha", "colore um ponto", "sombreie um triângulo" etc.). Portanto, as suposições que ele pode fazer não são muito boas.
Quando a AMD ou a nVidia lança uma atualização de driver que contém melhorias de desempenho para jogos específicos, isso significa que o driver detectará o jogo que está chamando de hardware gráfico e terá uma série de suposições codificadas que são conhecidas sobre como o jogo é implementado. Pode ser que o jogo tenha muitas imagens de textura que precisam ser rapidamente trocadas dentro ou fora da memória, ou que faça muita mistura de cores em tempo real para produzir certos efeitos de iluminação. Normalmente, o que um jogo fará é implementar pequenos programas (chamados "shaders") que descrevem como executar esses cálculos, e ele será enviado à GPU para execução. Se o motorista souber como o jogo usa o hardware, ele pode organizar os dados e escolher conjuntos de instruções que executam a tarefa desejada de maneira a aumentar o rendimento e a eficiência.
Às vezes, porém, após o envio do produto, podem ser encontrados erros em alguma parte da GPU. Pode ser obscuro o suficiente para ter sido esquecido na validação quando o chip estava sendo projetado, mas pode ser descoberto que ele causa algum comportamento indesejável ou com erros (ou mesmo trava) em um jogo específico que o atinge. Nesse caso, o driver detectará esse estado de buggy e o contornará, transferindo algum cálculo para o lado da CPU ou alterando a maneira como ele alimenta os dados na GPU para que não entre nesse estado. Estes, novamente, serão lançados na forma de atualizações de driver.
Então, basicamente, não está mudando o desempenho do hardware em si, apenas está mudando a maneira como ele usa o hardware, para que ele possa operar com mais eficiência e rapidez no mesmo conjunto de dados.
fonte
"Drivers de CPU" raramente existem, e certamente não são módulos carregáveis. O ocasional "driver da CPU" seria necessário para alguma variação no controle multicore ou no manuseio de interrupções (por exemplo, os núcleos duplos da AMD precisavam de um driver WinXP para uma utilização completa). Caso contrário, a maioria dos sistemas operacionais é configurada e criada para acessar a CPU diretamente. Se um problema aparecer e for grave, o código do kernel será corrigido e uma atualização do kernel será lançada.
GPUs não são mais apenas periféricos; eles evoluíram para coprocessadores. O "driver GPU" não fornece apenas acesso ao dispositivo, eles incluem algoritmos de processamento (por exemplo, subprogramas gráficos) para a GPU empacotada no driver. O tamanho desses "motoristas" é uma oferta / pista. São esses algoritmos / subprogramas que estão sendo aprimorados.
fonte
Não são apenas os drivers, é a própria GPU. Uma GPU é especializada em vários tipos de cálculos (por exemplo, FFT) e manipulação de memória. Ele pode funcionar paralelamente na maioria das tarefas e torná-lo mais eficaz do que uma CPU de uso geral.
Com um melhor conhecimento dos programas em execução, você pode otimizar os processos de manipulação ou cálculo de memória para esses programas. A GPU é muito versátil em como fazer cálculos e executar manipulações de memória; portanto, o firmware ou driver perfeito ainda precisa ser gravado. ;) Há muito espaço para melhorias.
A maioria dos outros dispositivos não é tão versátil no uso. A maioria dos hardwares em um PC precisa executar suas especificações, seguir protocolos, para que o driver não precise ser otimizado.
A, esqueci a CPU. > _ <A CPU pode ser otimizada. A maioria dos novos modelos de CPU possui um firmware programável, mas o aumento de desempenho não vale o esforço. É usado apenas para corrigir erros no processo de construção do hardware.
fonte