Com o Windows 8, estamos preparados para que todos os aplicativos tenham gráficos bonitos e de alto desempenho, possibilitados por modernos hardwares gráficos. Esse trabalho conta com as bases bem estabelecidas dos gráficos DirectX que estabeleceram uma gama crescente de APIs e funcionalidades. No Windows 7, expandimos as funcionalidades de DirectX para oferecer uma plataforma gráfica comum acelerada por hardware a uma gama mais ampla de aplicativos. Enquanto anteriormente, o DirectX fornecia principalmente gráficos 3 D, adicionamos a funcionalidade para o que chamamos de gráficos “de base”. Os usos básicos se concentram nos aplicativos de desktop típicos que a maioria das pessoas usa hoje em dia, incluindo navegadores da Web, email, calendários e aplicativos de produtividade. O Windows 7 adicionou dois novos componentes ao DirectX: Direct2D para gráficos bidimensionais (formas, bitmaps, etc.) e DirectWrite para manipular texto. Ambas essas adições não focalizavam apenas o desempenho mas também a renderização de 2 D de alta qualidade. Com essas adições, o DirectX se tornou uma plataforma gráfica acelerada por hardware para todos os tipos de aplicativos. Na verdade, mostramos o que um aplicativo típico poderia realizar usando DirectX quando o Internet Explorer 9 trouxe os gráficos acelerados por hardware para a Web. O WinRT traz essas funcionalidades para todos os novos aplicativos do Windows 8. Nesta postagem, criada por Rob Copeland, o gerente de programa de grupo da equipe de gráficos, examinaremos os detalhes dos bastidores dessa nova classe de aplicativo gráfico. --Steven

 


Em computação gráfica, alto desempenho é um princípio básico. No início da computação pessoal, as placas gráficas suplementares, discretas, se destinavam principalmente a aplicações específicas, tais como CAD/CAM e jogos. Mesmo no início, havia a visão de que todo esse poder gráfico poderia ser mais utilizado: notadamente, uma interface do usuário e uma experiência melhores. Uma das primeiras placas gráficas de PC se chamava “Windows Accelerator” from S3 Graphics, que focalizava a experiência do usuário, movendo janelas mais rapidamente na tela. Assim como o hardware gráfico evoluiu, o mesmo aconteceu com os métodos que os desenvolvedores usam para interagir com esse hardware.

O DirectX é a parte do Windows que fornece uma interface de programação de aplicativo comum, ou API, que permite aos desenvolvedores usar o hardware gráfico no PC para criar texto, formas e cenas tridimensionais, e exibi-los na tela. O DirectX também evoluiu ao longo do tempo em termos de funcionalidades e características de desempenho. No início, o DirectX focalizava principalmente os jogos. Conforme os aplicativos evoluíram para fornecer experiências de usuário mais ricas e mais graficamente intensas, muitos deles começaram a usar o DirectX como uma forma de obter melhor desempenho e recursos visuais mais ricos.

Entrar no Windows 8

Quando começarmos a planejar o trabalho a ser realizado em relação aos gráficos no Windows 8, sabíamos que estaríamos criando uma forma nova, visualmente rica, de os usuários interagirem com aplicativos e com o Windows em si. Também sabíamos que estávamos construindo uma nova plataforma para a criação de aplicativos estilo Metro, e que estávamos almejando um conjunto mais diverso de hardwares do que nunca. Embora tivéssemos uma ótima plataforma gráfica para começar, havia mais trabalho a fazer para dar suporte a esses esforços. Estabelecemos quatro metas principais:

  1. Garantir que todas as experiências estilo Metro sejam renderizadas de forma suave e rápida.
  2. Fornecer uma plataforma acelerada por hardware para todos os aplicativos estilo Metro.
  3. Adicionar novas funcionalidades ao DirectX para possibilitar experiências visuais impressionantes.
  4. Dar suporte à mais ampla diversidade de hardware gráfico do que nunca.

Embora cada um deles focalize aspectos diferentes da construção do Windows 8, todos eles dependem de ótimo desempenho e funcionalidades da plataforma gráfica.

Planejando o desempenho

O desempenho gráfico no Windows depende do sistema operacional e do sistema do hardware, composto pela CPU, a GPU (unidade de processamento gráfico) e o driver de vídeo associado. Para garantir que pudéssemos oferecer uma ótima experiência para novos aplicativos estilo Metro, precisávamos ter certeza de que a plataforma de software e o sistema do hardware teriam um ótimo desempenho.

No passado, usávamos muitos parâmetros de comparação e aplicativos diferentes para medir o desempenho do DirectX. Esses parâmetros focalizaram muito os jogos 3D. Embora os jogos ainda sejam muito importantes, sabíamos que muitas das formas existentes de medir o desempenho dos gráficos não nos informavam tudo o que precisávamos saber sobre aplicativos de base, 2D, com muitos gráficos.

Portanto, criamos novos testes e métricas focalizados em cenário para medir nosso progresso. As métricas que usamos são as seguintes:

1.  Taxa de quadros

Expressamos a taxa de quadros em quadros por segundo (FPS). Essa métrica é amplamente relacionada a padrões de comparação de jogos, e é igualmente importante para conteúdo de vídeo e outros aplicativos. Quando algo está sendo animado na tela, uma taxa de 60 FPS faz com que a animação pareça suave. Visamos essa taxa porque a maioria das telas de computador atualizam em 60 hertz. Com essa taxa de quadros, o Windows pode fornecer animações muito suaves com manipulações de toque “colado ao seu dedo”.

2.  Contagem de falhas

Embora a taxa de quadros seja uma métrica importante, ela não conta a história toda. Por exemplo, executar um parâmetro de comparação por 10 minutos e obter 60 FPS de média soa perfeito. Mas, isso não nos diz o quanto a taxa de quadros caiu durante o teste. Por exemplo, se a taxa de quadros cair para 10 FPS momentaneamente durante as partes mais exigentes, a animação engasgar. A métrica de contagem de falhas procura o número total de vezes em que a renderização levou mais de 1/60 de um segundo, resultando, portanto, em uma taxa de quadros reduzida. Ela também observa o número de quadros simultâneos perdidos. A meta aqui é não ter quadros perdidos durante as animações.

3.   Tempo para o primeiro quadro

A maioria das pessoas espera que seus aplicativos sejam iniciados rapidamente, portanto, a inicialização do DirectX precisa ser rápida. “Tempo para o primeiro quadro” nos informa quanto tempo leva desde o momento em que você toca ou clica para iniciar um aplicativo até que veja o primeiro quadro do aplicativo na tela. Para medir isso, criamos aplicativos simples para ajudar a analisar e otimizar o sistema gráfico pelo tempo que ele leva para inicializar um dispositivo gráfico, alocar a memória necessária, e assim por diante. Isso nos ajuda a garantir que o trabalho para configurar o DirectX leve muito pouco tempo.

4.  Utilização da memória

Quanto mais memória nossos componentes gráficos usam, menos memória fica disponível para aplicativos. Garantindo que a maior parte da memória do sistema esteja disponível para aplicativos, você obtém o melhor desempenho do aplicativo, e mais aplicativos podem ser executados ao mesmo tempo. Os aplicativos usam um misto de memória do sistema e de memória da GPU. A memória da GPU é usada principalmente para renderizar operações como desenho de imagens, formas geométrica e texto. Além disso, existem operações gráficas que usam a CPU e, portanto, usam a memória do sistema.

Para caracterizar a utilização da memória, medimos a memória usada pelo sistema nos seguintes cenários:

  • O aplicativo está inativo. Ou seja, ele não está realizando trabalho algum e não está renderizando nem exibindo novas informações na tela.
  • O aplicativo está exibindo informações na tela. Isso representa o custo de memória base de um desenho simples.
  • Criação de textura. Isso representa a memória usada para criar um grande número de objetos de imagem na GPU.
  • Criação do buffer de vértices. Isso representa a sobrecarga de memória da criação de formas geométricas.
  • Carregamento de dados da GPU. Isso mede a sobrecarga de memória envolvida no carregamento de dados para a GPU.

Medir o uso da memória entre vários tipos de aplicativos e esses vários cenários nos ajudou a otimizar ainda mais o DirectX e os drivers de vídeo.

5.  Utilização da CPU

A maioria das operações gráficas utiliza a CPU além da GPU. Por exemplo, quando um aplicativo está descobrindo o que vai desenhar, ele geralmente faz esses cálculos na CPU. A utilização da CPU é importante para compreender porque quanto maior porcentagem da CPU for usada por uma tarefa, menos ciclos a CPU pode devotar a outras tarefas. Para que haja um bom desempenho gráfico e resposta geral do sistema, é importante equilibrar efetivamente o trabalho entre a CPU e a GPU.

Esses parâmetros de comparação e métricas nos ajudam a garantir que as experiências e os aplicativos estejam perfeitos e tenham um ótimo desempenho. Eles realizam um grande papel em nossa compreensão dos aplicativos de base. Obviamente, ainda utilizamos parâmetros de comparação do setor, jogos e outras formas de medir nosso desempenho geral.

Gráficos de base acelerados por hardware

Existem muitas formas de observas os gráficos de base. Para garantir que o nosso trabalho daria aos usuários o desempenho certo e as experiências corretas, estudamos muitos exemplos de aplicativos estilo Metro e de desktop para compreender como eles usavam o hardware gráfico. Em particular, Internet Explorer 9, Windows Live Mail e Windows Live Messenger fazem excelente uso do DirectX. Como esses aplicativos têm feito um grande trabalho na utilização do DirectX, eles são bons exemplos do que outros aplicativos podem fazer. Isso levou a inúmeros investimentos para garantir que os aplicativos de base fossem rápidos e tivessem ótima aparência.

Melhorando o desempenho de texto

Texto é de longe o elemento gráfico usado mais frequentemente no Windows, portanto, aprimorar o desempenho da renderização de texto vai muito mais além do que criar uma experiência melhor. Páginas da Web, programas de email, mensagem instantânea e outros aplicativos de leitura se beneficiam da exibição de texto de alto desempenho e de alta qualidade.

A linguagem de design do estilo Metro é tipograficamente rica e inúmeras experiências estilo Metro focalizam o fornecimento de uma excelente experiência de leitura. DirectWrite possibilita uma ótima qualidade tipográfica, processamento muito rápido de dados de fonte para renderização, e fornece suporte de texto global líder do setor. Continuamos a aprimorar o desempenho de texto no Windows 8, otimizando nossa renderização de texto padrão em aplicativos estilo Metro para oferecer melhor desempenho e eficácia, enquanto mantemos qualidade tipográfica e suporte global a texto.

O gráfico de barras abaixo ilustra as melhorias de desempenho que resultam desse trabalho. Ele inclui medições nos seguintes cenários de texto:

  • Renderizar uma tela cheia de texto em tamanho de leitura formatado como parágrafos como você encontraria em uma página da Web ou documento do Word
  • Renderizar uma tela cheia de pequenos pedaços de texto em tamanhos de leitura como você encontraria em controles da interface do usuário, tais como rótulos de botão ou menus
  • Renderizar uma tela cheia de pequenos pedaços de texto do tamanho de títulos como você veria em títulos e cabeçalhos em aplicativos estilo Metro e como títulos nas postagens de blog e artigos de notícias na Web.

Taxa de quadros aumenta mais de 150% em parágrafos no Windows 7, 131% na interface do usuário, 336% em blocos e títulos

A melhoria de desempenho mais notável pode ser vista ao rolar por um documento longo em uma tela sensível ao toque. A redução no tempo necessária para renderizar os caracteres libera ciclos da CPU para lidar com outras tarefas, como o processamento de entrada de toque de alta frequência, ou a exibição de layouts de documento mais complexos.

Melhorando o desempenho da renderização geométrica

Junto com o texto, também fizemos melhorias significativas no desempenho da renderização geométrica 2D. A renderização geométrica é a tecnologia gráfica principal usada para criar coisas como tabelas, gráficos, diagramas e elementos da interface do usuário, como mostrado no exemplo abaixo. Para o Windows 8, nossas melhorias nessa área focalizaram principalmente as implementações de alto desempenho das tecnologias Canvas e SVG HTML5 para uso em aplicativos estilo Metro, e páginas da Web visualizadas com o Internet Explorer 10.

  Um gráfico de barras de dados históricos sobre o clima   

O aplicativo de Clima no Windows 8 usa geometria para exibir um gráfico de dados históricos sobre temperatura e precipitação

Quando o Direct2D faz desenhos geométricos, ele usa instruções do aplicativo sobre o que desenhar no formato de imagens 2D (por exemplo, retângulos, elipses e trajetórias), o tamanho e a localização das imagens, e especificidades sobre o estilo de renderização, incluindo a cor do pincel e o estilo do traço. Em seguida, ele converte essas instruções em um conjunto de triângulos e comandos que ele envia para o Direct3D para gerar a saída desejada. Chamamos esse processo de conversão de mosaico.

Para aprimorar o desempenho da renderização geométrica no Windows 8, focalizamos a redução do custo da CPU associado ao mosaico de duas formas.

Primeiro, otimizamos nossa implementação de mosaico durante a renderização de formas geométricas simples como retângulos, linhas, retângulos arredondados e elipses. Abaixo há um gráfico mostrando o impacto dessas melhorias.

Aumento da taxa de quadros no Windows 7, 184% em linhas, 369% em elipses, 220% em retângulos arredondados, 438% em retângulos

Segundo, para aprimorar o desempenho durante a renderização de geometria irregular (por exemplo, fronteiras geográficas em um mapa), utilizamos um novo recurso de hardware gráfico chamado Target Independent Rasterization (Rasterização Independente de Destino) ou TIR.

A TIR permite que o Direct2D gaste menos ciclos de CPU no mosaico, portanto, ela pode dar instruções de desenho para a GPU de forma mais rápida e eficaz, sem sacrificar a qualidade visual. A TIR está disponível no novo hardware de GPU projetado para o Windows 8 que dá suporte a DirectX 11.1.

Abaixo há um gráfico mostrando a melhoria de desempenho para renderizar geometria sem alias de uma variedade de arquivos SVG em uma GPU DirectX 11.1 com suporte à TIR:

15 arquivos mostrados, com aumentos entre 151% e 523%

Trabalhamos junto com nossos parceiros de hardware gráfico para projetar a TIR. Melhorias significativas foram possibilitadas devido a essa parceria. O hardware DirectX 11.1 já está no mercado hoje em dia e estamos trabalhando com nossos parceiros para que mais produtos com capacidade TIR sejam amplamente disponibilizados.

Renderizando imagens

Imagens são amplamente usadas em uma variedade de cenários, incluindo a exibição de interfaces do usuário, páginas da Web e outro conteúdo de aplicativo. Sites da Web usam comumente JPEGs para imagens e arquivos PNG e GIF para armazenar de forma eficaz elementos da interface do usuário tais como gráficos de botão.

Trabalhar com fotografias digitais também é uma atividade muito comum no Windows. O número de fotografias digitais que os clientes do Windows veem e manipulam em seus PCs continuam a crescer em uma taxa incrível.

Fizemos várias melhorias de desempenho para trabalhar com imagens e fotografias usando os formatos JPEG, GIF e PNG.

Para JPEG, as melhorias incluem:

  • Decodificação de imagem mais rápida, expandindo o uso de SIMD em todas as arquiteturas de CPU
  • Decodificação e codificação Huffman mais rápidas

Para PNG, as melhorias incluem:

  • Decodificação de imagem mais rápida, expandindo o uso de SIMD em todas as arquiteturas de CPU
  • Codificação e decodificação de imagem mais rápidas, otimizando nossa implementação de zlib

Além disso, aprimoramos a conversão de formato de pixel assim como o escalonamento de imagem. Isso resulta em decodificação e renderização mais rápidas de imagens em todos os aplicativos.

O vídeo abaixo usa um aplicativo de teste para medir o tempo de decodificação e renderização de um conjunto de imagens. O Windows 8 leva 40% menos de tempo que o Windows 7 para renderizar 64 imagens (4,38 segundos versus 7,28 segundos)

Renderização e exibição

Conforme desenvolvemos o DirectX para dar suporte a mais cenários de base, outra área em que investimos é a otimização de como os aplicativos renderizam e exibem seu conteúdo. Existem algumas grandes diferenças em como um jogo 3D desenha seu conteúdo e como um aplicativo de base, como o Explorer desenha seu conteúdo. Por exemplo, considere o vídeo do jogo abaixo. Em jogos como esse, a cena inteira muda rapidamente. Conforme a “câmera” se move em torno do veículo, as nuvens se movem no céu e a fumaça surge do motor, o aplicativo deve redesenhar toda a cena em cada quadro para atingir uma experiência atraente e realista.


Baixe este vídeo para vê-lo no seu media player favorito:
MP4 de alta qualidade | MP4 de qualidade inferior

Agora considere a página da Web abaixo Ela possui um artigo de texto e um vídeo. Enquanto o vídeo é reproduzido, o navegador deve atualizar a parte da janela que contém o vídeo mas não o texto. Além disso, se o usuário rolar a página para cima, então só precisamos renderizar o novo texto na parte inferior da página. O resto do texto foi renderizado e precisa simplesmente ser movido.

Imagem de uma página da Web do msdn com vídeo inserido e reprodução em linha

Para aprimorar os aplicativos que não precisam redesenhar a tela inteira para cada quadro, otimizamos como o DirectX lida com o redesenho apenas de partes da tela e como ela rola. Esse trabalho não aprimora somente a eficácia e o desempenho do aplicativo, mas como ele reduz o desenho redundante e o número de vezes que os dados gráficos precisam ser copiados na memória, ele também diminui o consumo de energia, aumentando, portanto, a vida da bateria.

Tornando a plataforma inteira ótima

Todas as alterações ajudam o Windows a renderizar as experiências de forma muito rápida e suave. Embora tenhamos falado muito sobre recursos no DirectX, o melhor é que todo esse trabalho contribui para tornar toda a nossa plataforma acelerada por hardware por padrão. Como construímos a plataforma estilo Metro sobre o DirectX, todos os aplicativos tiram vantagem do hardware gráfico no sistema, independentemente da linguagem de programação e da estrutura que o desenvolvedor escolhe.

Criando experiências visuais impressionantes com Direct2D e Direct3D

Efeitos Direct2D

Efeitos estilísticos aplicados a imagens estão se tornando mais comuns em experiências de usuário modernas. Eles podem ajudar a realçar uma área de um aplicativo, chamar sua atenção para uma parte específica da tela ou apenas fazer as coisas terem uma melhor aparência. Conforme planejamos as funcionalidades gráficas do Windows 8, quisemos tornar realmente fácil para os desenvolvedores aplicar esses tipos de efeito em seus aplicativos. Observamos duas áreas principais onde o processamento de imagem seria útil:

  • Imagens da interface do usuário
    A experiência estilo Metro usa visuais dinâmicos. Quisemos permitir que os aplicativos estilo Metro fizessem o processamento de imagem em tempo real. Isso pode variar de efeitos de transição 3D a transformações em perspectiva, desfoques e realces nos elementos da interface do usuário.
  • Fotos
    Aplicativos que lidam com fotografias frequentemente requerem um rico conjunto de recursos de processamento. Efeitos como ajuste de exposição, brilho e contraste, aplicação de vibração e claridade, trabalho com curvas avançadas e aplicação de correções de lente permitem que esses aplicativos aprimorem suas memórias digitais.

Para permitir esses tipos de experiências, adicionamos “Efeitos Direct2D”, um novo conjunto de APIs que efeitos de alta qualidade, acelerado por hardware a serem aplicados a qualquer imagem. Efeitos Direct2D têm os seguintes efeitos:

  • Eles fornecem renderizações de efeitos de imagem de ótima qualidade para se adequarem às necessidades de uma ampla variedade de aplicativos.
  • Os efeitos são acelerados por hardware e funcionam em uma ampla variedade de hardware gráfico.
  • Uma API simples permite ótimos efeitos com programação mínima.
  • Eles oferecem muitos efeitos internos.
  • Eles dão suporte a tamanhos de imagem grandes e até 32 bits por canal.
  • Efeitos personalizados podem ser combinados com efeitos internos ou outros efeitos personalizados.

Efeitos Direct2D potencializam algumas das novas experiências de usuário no Windows 8. Por exemplo, quando você toca em um bloco na Tela inicial, o bloco usa o efeito de transformação em perspectiva 3D para “inclinar” na direção certa. Eles também potencializam o resto de nossa plataforma. Por exemplo, efeitos de filtro SVG e transformações 3D CSS são implementados por meio de Efeitos Direct2D.

Direct3D 11.1 como uma base comum

Embora adicionar novos recursos como Efeitos Direct2D seja uma ótima forma de ajudar os desenvolvedores a oferecer novas experiências, também buscamos formas de tornar mais fácil o uso de recursos DirectX existentes.

Durante anos de desenvolvimento, adicionamos vários recursos diferentes ao DirectX. A aceleração de hardware da decodificação de vídeo veio junto com sombreadores programáveis no Direct3D 9. No Windows 7, adicionamos Direct2D e o inserimos no Direct3D 10. Naquele momento, também criamos o DirectCompute, um novo sistema para computação de alto desempenho na GPU que se tornou parte do Direct3D 11. Um resultado de todas essas atualizações é que o DirectX tem um conjunto muito abrangente de recursos de gráficos e computação de GPU, mas como efeito colateral, tornou-se cada vez mais difícil criar um aplicativo que use vídeo, gráficos 2D, gráficos 3D, texto e DirectCompute juntos.

No Windows 8, a nova API Direct3D 11.1 é a base para aceleração de hardware de gráficos 2D e texto, processamento de imagem, gráficos 3D e computação, e vídeo. A nova API torna muito mais simples misturar tipos diferentes de conteúdo em uma única cena porque essa única API agora gerencia todos os recursos da GPU associados à renderização. Isso também reduz o uso da memória, eliminando a redundância envolvida na criação de vários objetos de gerenciamento de dispositivo gráfico no código do aplicativo. Além disso, o Direct3D 11.1 oferece uma maneira uniforme de os aplicativos acessarem as várias funcionalidades de hardwares gráficos diferentes. Ele oferece mecanismos para o aplicativo determinar quais recursos estão disponíveis e depois usa somente esses recursos. Isso permite que os aplicativos façam uso mínimo das funcionalidades da GPU, caso a GPU tenha sido projetada para proporcionar uma vida longa da bateria em um tablet, ou jogo de alta definição em um PC desktop.

Hardware gráfico diverso

Historicamente, as expectativas de cada versão sucessiva do Windows têm sido de que as funcionalidades de plataforma gráfica e de hardware gráfico se tornem mais ricas e superiores em desempenho. Isso ainda é verdade, já que o setor de hardware gráfico continua a desenvolver GPUs mais rápidas e poderosas. Mas no Windows 7, começamos a ver um ponto de inflexão nessas pressuposições, já que a diversidade do hardware se expandiu com a introdução de dispositivos móveis, de baixo consumo de energia.

Com o Windows 8, essa tendência em torno dos diversos tipos de hardware é contínua e acelerada, com novas placas gráficas de alto desempenho e com uma gama cada vez mais ampla de dispositivos móveis de baixo consumo de energia. A diversidade do hardware para Windows 8 abrangerá uma gama maior do que jamais houve antes; do hardware gráfico que consome na ordem de 1 watt em tablets sempre conectados até sistemas de alta definição com várias placas gráficas que usam um total de 1.000 ou mais. Essa diversidade crescente traz consigo novas considerações de design.

Nossa meta continua a ser fornecer experiências visualmente atraentes e de alto desempenho. Com dispositivos altamente móveis, a fonte de alimentação principal é uma bateria, portanto, também precisamos maximizar a vida da bateria. Para atender aos requisitos de desempenho e consumo de energia desses novos fatores forma, muitos de nossos parceiros de hardware gráfico empregaram novas arquiteturas de GPU.

Sistemas de baixo consumo de energia

Uma das arquiteturas gráficas comumente usadas em designs de sistema de baixo consumo de energia para alcançar desempenho junto com ótima vida da bateria é chamada de “renderização baseada em bloco”. O conceito geral de uma abordagem de renderização baseada em bloco é ter um cache de memória de desempenho muito alto (mas pequeno) que o mecanismo gráfico usa para renderização. A GPU, em seguida, renderiza a tela em seções (ou blocos), processando repetidamente o mesmo conjunto de comandos em cada bloco, em vez da tela inteira de uma vez. O objetivo é minimizar as operações que usam memória fora do chip, portanto, mantendo o baixo consumo de energia e o alto desempenho. O acesso repetitivo à memória fora do chip é caro tanto em termos de tempo quanto em consumo de energia.

Para aumentar a eficiência dessas arquiteturas baseadas em bloco, adicionamos inúmeros sinalizadores, dicas e novas APIs que podem minimizar o número de vezes em que os blocos são renderizados. Incorporamos o uso delas na plataforma de desenvolvimento de aplicativo estilo Metro para garantir maior eficácia em aplicativos executados em hardware gráfico que usam uma arquitetura de renderização baseada em bloco.

Outra forma de o hardware gráfico reduzir o consumo de energia enquanto atinge ótimo desempenho é realizar cálculos de renderização gráfica usando menos bits de precisão. Isso permite que a GPU estruture seus dados de forma mais eficaz para que possa processar mais dados simultaneamente, reduzindo, portanto, a energia necessária. Para o Windows 8, adicionamos novos mecanismos para os aplicativos especificarem a quantidade de precisão necessária em seus cálculos gráficos. Por exemplo, ao fazer combinações de várias imagens onde os dados da imagem é de 8 bits por componente, as computações combinadas poderiam ser feitas com 10 bits de precisão em vez dos 32 bits padrão. A precisão reduzida não causa impacto na qualidade da imagem, mas reduz o consumo de energia.

Ótimo desempenho, renderização suave


Baixe este vídeo para vê-lo no seu media player favorito:
MP4 de alta qualidade | MP4 de qualidade inferior

Como você pode ver, tivemos muito trabalho para possibilitar uma experiência de usuário muito rápida e suavemente animada no Windows 8. De novas formas de medir nosso progresso, a otimizações para uso básico de nossa plataforma de gráfico, e novos recursos de hardware, criamos a melhor plataforma gráfica para Windows que já existiu. E, obviamente, continuamos a evoluir em direção à experiência de jogos tridimensional, imersiva, com ótimo desempenho e novos recursos tais como 3D estereoscópico.

De simuladores de carga de jogos de alta definição, a tablets leves e sempre conectados, o Windows 8 dá suporte a maior gama de hardwares gráficos jamais vista em um único sistema operacional. Esperamos que esta postagem tenha ajudado a explicar algumas formas em que esse trabalho permite todo um novo conjunto de experiências ricas.

- Rob Copeland

P.S. Obrigado a Sriram Subramanian, Dan McLachlan, Kam VedBrat, Steve Lim e Jianye Lu, por suas contribuições substanciais a esta postagem de blog.