No passado, os jogos não eram muito complexos. Os níveis jogáveis eram bastante pequenos, os personagens eram poucos e as texturas eram simples. Ao longo dos anos, os jogos melhoraram exponencialmente. De mundos abertos massivos a personagens altamente detalhados, os jogos muitas vezes podem parecer fotorrealistas.
Mas toda essa inovação tem um custo.
Os jogos modernos precisam de dezenas de gigabytes de dados para renderizar esses belos personagens e ambientes. Mas algumas ferramentas que os desenvolvedores de jogos usam não foram criadas para lidar com uma quantidade tão grande de dados, criando um gargalo de desempenho.
É aqui que entra o Microsoft DirectStorage.
Por que precisamos do Microsoft DirectStorage?
Antes de discutirmos o DirectStorage, vamos ver como os métodos atuais de streaming de dados funcionam.
Quando você inicia um jogo, ele precisa de dados como texturas, modelos de personagens e áudio para apresentar a você na tela. Esses dados são armazenados em um dispositivo de armazenamento como um disco rígido. O jogo solicita esses dados por meio de ferramentas de software conhecidas como Application Programming Interfaces (APIs).
Depois que o jogo solicita os dados por meio de uma API, ele busca os dados do dispositivo de armazenamento e os coloca na RAM do sistema antes de passá-los para a GPU para renderização.
Quando você baixa um jogo, todos os dados são compactados para economizar o máximo de armazenamento possível. Mas as GPUs não podem usar dados compactados. Portanto, ele deve ser descompactado.
Assim, quando os dados estão na RAM, eles vão para a CPU para descompressão.
Após a descompressão, os dados que o jogo solicitou são copiados para a VRAM da GPU.
Finalmente, a GPU renderiza esses dados em belos gráficos que vemos na tela.
Agora, esse método de streaming tem duas desvantagens principais.
Primeiro, a descompressão de dados leva muito tempo. Isso não só resulta em maiores tempos de carregamento do jogo, mas também torna a CPU indisponível para outras tarefas. E como a CPU é descompactada na maior parte do tempo, ela não consegue acompanhar as demandas da GPU, resultando em taxas de quadros mais baixas.
Em segundo lugar, as APIs de armazenamento existentes não aproveitam todas as vantagens do hardware de armazenamento moderno. Por exemplo, os dispositivos de armazenamento naquela época eram discos rígidos mecânicos lentos que não tinham velocidade e largura de banda para enviar gigabytes de dados por segundo. Portanto, as APIs foram gravadas para transmitir apenas uma quantidade limitada de dados.
Os desenvolvedores que usam essas APIs antigas hoje devem contornar esse orçamento limitado de streaming de dados usando métodos como reduzir a complexidade da cena para minimizar a necessidade de muitos ativos, apenas renderizando texturas e o ambiente que o jogador pode ver, e aumentando os tempos de carregamento para garantir que o jogo tenha tempo suficiente para carregar todos os ativos antes iniciando.
Esses métodos funcionam melhor na teoria do que na prática. Porque, mesmo com os drives de armazenamento mais rápidos do mercado, os jogos ainda têm tempos de carregamento longos, pop-in de textura e distâncias de desenho apertadas.
O DirectStorage visa ajudar os desenvolvedores a resolver esses problemas por meio de um melhor processo de streaming de dados.
Relacionado: As melhores ferramentas de overclocking de GPU para desempenho aprimorado em jogos
Como funciona o Microsoft DirectStorage?
O Microsoft DirectStorage é um conjunto de APIs de armazenamento que visa consertar tudo de errado com as APIs atuais.
Quando um desenvolvedor invoca APIs DirectStorage para solicitar dados do dispositivo de armazenamento, o processo é quase o mesmo, com duas diferenças principais.
Primeiro, depois de copiar os dados para a RAM, não há rotina de descompressão da CPU. Os dados não são copiados para a CPU e descompactados. Ao contrário das APIs antigas, os dados compactados são enviados diretamente para a GPU.
Em segundo lugar, as APIs tiram total proveito do hardware SSD NVMe super-rápido. O DirectStorage precisa de um SSD NVMe para funcionar, pois os SSDs NVMe têm largura de banda exponencialmente maior do que os discos rígidos mecânicos. O DirectStorage usa toda a largura de banda desses SSDs, que está na ordem de GB / s, para ler muitos dados de uma vez. Isso é diferente de APIs mais antigas, que leem os dados lentamente e na ordem de MB / s.
Portanto, a GPU recebe muitos dados compactados de uma vez e não precisa esperar que mais dados cheguem antes da renderização. A única coisa que resta a fazer é descompactar os dados para a GPU renderizar.
O DirectStorage inclui técnicas de descompressão de GPU de última geração. As GPUs descompactam os dados a uma taxa muito maior do que as CPUs. Eles também podem sustentar essa descompressão de alta taxa por um longo tempo que uma CPU não pode. Isso é o que torna uma GPU a principal candidata para o futuro da descompressão de dados.
Descarregar a descompressão para a GPU também libera a CPU para lidar com outras tarefas, como processamento de áudio e preparação de quadros a serem exibidos.
Como o DirectStorage melhora os jogos?
Como o DirectStorage fornece muitos dados à sua GPU de forma incrivelmente rápida, ele pode revolucionar sua experiência de jogo.
Em primeiro lugar, se os desenvolvedores criarem seus jogos com DirectStorage, os jogos terão tempos de carregamento quase instantâneos. Então, você não terá que esperar para se sentar em uma longa tela de carregamento para pular para o seu jogo favorito.
Em segundo lugar, como o DirectStorage libera a CPU para lidar com outras tarefas, ele aumenta o desempenho. Em outras palavras, você vai obtenha melhores taxas de quadros, mesmo se você não atualizou seu hardware.
Finalmente, com DirectStorage, os jogos terão mundos mais expansivos e complexos com um mínimo de pop-in de textura. Isso permitirá que os desenvolvedores criem a próxima geração de jogos sem reter sua visão criativa devido a questões de streaming de dados.
DirectStorage pode mudar o jogo para sempre se os desenvolvedores permitirem
A Microsoft tem pressionado fortemente o DirectStorage. E com razão. Os métodos antigos de streaming de dados são um ponto de estrangulamento que tem atrasado os jogos.
Se o DirectStorage conseguir se tornar um padrão da indústria, os jogos entrarão em uma nova era de imersão.
Se a Microsoft puder aperfeiçoar o DirectStorage e convencer os desenvolvedores de que vale a pena investir seu tempo nele, os jogadores podem finalmente ficar livres de aborrecimentos como tempos de carregamento e pop-in de textura.
Então, vamos esperar que cheguemos ao dia em que não haverá passeios de elevador falsos, escadas sem fim e nenhuma viagem rápida que leve um milhão de anos.
Se você não pode pagar por uma configuração de jogo de última geração, precisará entender as compensações entre altas taxas de quadros e altas resoluções ao jogar.
Leia a seguir
- janelas
- Jogos
- Microsoft
- Desenvolvimento de jogos
- Jogos para PC
Fawad é um escritor freelance em tempo integral. Ele adora tecnologia e comida. Quando não está comendo ou escrevendo sobre o Windows, ele está jogando videogame ou escrevendo para seu peculiar blog Techsava.
Assine a nossa newsletter
Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!
Mais um passo…!
Confirme o seu endereço de e-mail no e-mail que acabamos de enviar.