Esta é a primeira parte de uma investigação sobre streaming de jogos, um assunto que havíamos solicitado anteriormente - especialmente depois de estudar CPUs - mas deliberadamente deixado de fora porque explorar todos os seus detalhes ousados ​​é bastante complexo. Flua com tudo nesses comentários.

Nas próximas semanas, vamos dedicar alguns artigos ao streaming do jogo e dar uma resposta definitiva sobre que tipo de configuração é melhor e quais configurações de qualidade fazem mais sentido. A pesquisa de hoje se concentra nas configurações de qualidade de fluxo, queremos descobrir quais configurações de codificação fornecem o melhor equilíbrio entre qualidade e desempenho e como cada um dos vários modos de codificação populares difere em termos de resultados.

Uma das coisas principais que queremos entender primeiro: a codificação de software na CPU ou a codificação acelerada de hardware na GPU é a melhor abordagem.

Antes de chegarmos às conclusões, algumas informações básicas sobre nossa plataforma de teste ... uma das coisas mais importantes que queremos entender primeiro é se a codificação de software na CPU ou a codificação acelerada por hardware na GPU é uma abordagem melhor. Esta é uma das batalhas realmente importantes, porque se a codificação de GPU é o caminho a seguir, a CPU necessária para streaming torna-se amplamente sem importância, enquanto se a codificação da CPU for melhor, a escolha do processador naturalmente se torna um fator importante no nível de qualidade. , não apenas em termos de consistência de streaming, mas também no desempenho do jogo.

Especialmente nos últimos meses, a codificação de GPU se tornou mais interessante porque a Nvidia atualizou seu mecanismo de codificação de hardware na nova arquitetura de GPU de Turing.







A maioria dos pontos de foco Compatibilidade HEVC e o novo motor de Turing, que atualmente tem um desempenho que não é muito importante para streaming de jogos, deve oferecer qualidade H.264 15% melhor em comparação com o motor mais antigo de Pascal (série GTX 10). Isso é algo que veremos e veremos como Turing se compara à codificação de software x264.

No lado da GPU, RTX 2080 Para codificação de Turing, Titan X Pascal Também veremos como a AMD vem junto com o Vega 64 e para codificação Pascal.




A segunda parte da pesquisa envolve software de codificação com x264 usando vários presets. Vamos deixar uma comparação de CPU com codificação de software para um artigo separado, neste artigo estamos mais preocupados em como cada predefinição afeta o desempenho e a qualidade.




Todos os testes Core i7-8700K com overclock Até 4,9 GHz e 16 GB de memória DDR4-3000, nossa plataforma recomendada para jogos de última geração. No futuro, veremos como o 9900K se comporta com as CPUs AMD Ryzen.




Para capturar essa foto, a versão mais recente do OBS está configurada para gravar em 1080p 60 FPS a uma taxa de bits constante de 6000 kbps. Estas são as configurações de qualidade máxima recomendadas. Contração muscularSe você estiver apenas jogando para outros fins, recomendamos o uso de uma taxa de bits mais alta, mas se você não for um parceiro para transmitir para o Twitch, você deve mantê-la em 6 Mbps ou menos.

Nós testamos com dois jogos aqui, Odisséia de Assassin’in Creed este é um cabeçalho bastante exigente de GPU e CPU, algo com que a codificação da CPU tem que lidar; e Forza Horizon 4Isso também requer menos CPU, mas é um título rápido em que a codificação com baixa taxa de bits pode ter problemas. Ambos os títulos apresentam um cenário um pouco pior para streaming de jogo de maneiras diferentes e únicas.

Começaremos com a codificação GPU, pois isso é algo conhecido por ser bastante assustador. A chave aqui é ver como Turing melhora algo ao lado das opções de codificação de CPU em comparação com as ofertas de codificação de GPU anteriores que estão virtualmente indisponíveis.




Para placas Nvidia, usamos a opção NVENC em OBS e configuramos para usar a predefinição de alta qualidade em 6 Mbps. Existem mais algumas opções predefinidas, mas Alta qualidade produz a saída de qualidade mais alta, como o nome sugere. Tentamos várias opções de codificação para o Vega 64 da AMD, tanto em termos de predefinição quanto de taxa de bits, tão azarado como você verá nas comparações por um curto período.

Colocando os aplicativos NVENC de Turing e Pascal lado a lado, não há muita diferença em 6 Mbps. Ambos sofrem de graves efeitos de macrobloco e, em geral, há uma completa falta de detalhes na imagem. Especialmente em Forza Horizon 4, o bloqueio parece muito perceptível e assustador na estrada. O codificador de Turing pode ser um pouco mais nítido e, em alguns casos, menos bloqueado, mas ambos são lixo. Se você deseja transmitir jogos, esta não é uma qualidade que impressionará seus espectadores.

O codificador da AMD evita que o codificador encolha completamente quando o uso da GPU se aproxima de 100%, e não pode gerar mais do que cerca de 1 quadro por segundo, o que não é um problema com placas Nvidia.

Consegui rodar o codificador no Forza Horizon 4 com um limitador de quadros habilitado que reduz o uso da GPU para cerca de 60%, mas mesmo com a predefinição de codificação 'Quality', a qualidade dos cartões Vega 64 produzidos é ainda pior do que Pascal da Nvidia.

Vejamos como o NVENC da Nvidia se compara ao software x264 codificado na CPU, enquanto o codificador da AMD estava fora de questão desde o início. No benchmark Assassin's Creed Odyssey de movimento mais lento, NVENC é visivelmente pior do que o preset muito rápido de x264, especialmente para detalhes finos, mesmo se o preset de Alta Qualidade estiver limitado a apenas 6 Mbps.

O x264 muito rápido não é surpreendente com nenhum estiramento, mas o nível de bloqueio e falta de detalhes no aplicativo NVENC de Turing é terrível em comparação.

No benchmark Forza Horizon 4 de movimento mais rápido, o NVENC de Turing executa muito mais rápido do que x264 em algumas áreas, o NVENC ainda bloqueia um pouco pior, mas mover muito rápido realmente lida com detalhes finos. Com este nível de ação, NVENC é aproximadamente igual ao preset "mais rápido" de x264. Observe, entretanto, que a predefinição “rápida” do x264 é significativamente melhor do que NVENC em movimento rápido e fumega completamente quando há movimento lento ou nenhum movimento.

Esses resultados podem ser um tanto surpreendentes quando a Nvidia afirma que o novo mecanismo Turing NVENC para codificação H.264 está em torno da marca de codificação rápida x264, ou ligeiramente melhor a 6000 Kbps para streaming de 1080p 60 FPS. No entanto, pelo que observei, a codificação do software era muito melhor, especialmente no Assassin's Creed Odyssey.

Olhando apenas para as predefinições de codificação de software x264, há diferenças perceptíveis entre cada muito rápido, mais rápido, rápido e médio. Assassin's Creed Odyssey de movimento lento - e ignorando problemas de desempenho de rede com algumas predefinições no momento - é muito rápido e mais rápido, com muito manchas, bloqueios em algumas áreas e uma falta de detalhes finos, não oferece um alto nível de qualidade, especialmente para objetos em movimento.

Esses dois presets realmente devem ser reservados para aqueles que querem apenas fazer stream aleatoriamente, porque a apresentação não é boa quando limitada a 6 Mbps.

A predefinição rápida é o mínimo que eu consideraria usar para um fluxo de jogo de qualidade, especialmente se você valoriza a qualidade da imagem para o seu público. Ele fornece um salto perceptível mais rápido na qualidade ao ponto em que os detalhes finos borrados são agora definidos.

Médio é novamente uma melhoria perceptível, mas a lacuna entre rápido e médio é menor do que a lacuna entre rápido e rápido. E como veremos em um momento, boa sorte usando a predefinição média no sistema em que o jogo está rodando. Eu também verifiquei a predefinição lenta, mas neste ponto estamos reduzindo os saltos para um grande impacto no desempenho.

Para uma ação mais rápida no Forza Horizon 4, novamente eu rejeitaria imediatamente o preset muito rápido, pois é pior do que o NVENC para este tipo de conteúdo. Infelizmente, o estreito limite de taxa de bits de 6000 kbps evita que qualquer preset faça justiça ao material de origem, mas mais uma vez a mídia chega mais perto e fornece uma melhoria em relação ao rápido.

A predefinição mais rápida parece horrível, então para este tipo de conteúdo eu recomendo rápido como o mínimo absoluto, eu realmente recomendo um meio de taxa de bits mais alto, mas ei, o Twitch definiu o limite para 6 Mbps, então basicamente ele pode fazer o melhor.

Produção

Mas a qualidade da imagem é apenas uma parte da equação, é claro, a outra é o desempenho, e quando você está jogando no computador em que está jogando, é suficiente que sua experiência de jogo e desempenho de streaming sejam importantes.

Começaremos examinando a codificação da GPU aqui e veremos como isso afeta o desempenho.

Habilitar o motor NVENC de Pascal ou Turing afetará a taxa de quadros do jogo em cerca de 10 a 20% dependendo do jogo, o que significa que você verá uma queda na taxa de quadros de 10% a 20% ao fotografar usando NVENC. nunca conquistou o jogo. Quanto mais limitado o jogo, maior o impacto do NVENC, então Forza Horizon 4 é mais afetado pelo usuário pesado da CPU em Assassin's Creed Odyssey.

Mas a boa notícia é que enquanto o NVENC está rodando o jogo em uma taxa de quadros inferior, mesmo se o jogo estiver usando 100% da GPU, o stream em si terá um excelente desempenho sem perda de quadros. O mecanismo de codificação da AMD dificilmente afeta a taxa de quadros do jogo, mas cai cerca de 90% dos quadros quando a GPU é usada pesadamente, tornando-a inútil como discutimos anteriormente.

O desempenho da codificação do software depende do tipo de jogo que você joga. No caso de Assassin's Creed Odyssey que usa intensamente tanto a CPU quanto a GPU, o streaming usando a CPU terá um efeito perceptível na taxa de quadros e os presets de codificação de alta qualidade terão dificuldade em acompanhar.

Enquanto o Core i7-8700K e o RTX 2080 jogavam Odyssey usando nossa predefinição de qualidade personalizada, só pudemos codificar o jogo sem quedas de quadros na saída de fluxo usando a predefinição ultra-rápida x264. A codificação muito rápida do X264 reduziu a taxa de quadros em 17%, uma redução maior do que usar o NVENC. Uma codificação muito rápida para este tipo de jogo é visualmente melhor do que NVENC, então o impacto no desempenho vale a pena.

Mas mesmo mudar para a predefinição "mais rápida" coloca quedas de quadros na saída do stream. Com uma taxa de queda de quadros de 8,5%, a saída é difícil de ajustar e rastrear. Enquanto isso, o desempenho do jogo caiu de 90 FPS em média para 63 FPS, pouco mais de 30 FPS em 1% menor. É claro que esta predefinição está sobrecarregando o sistema. E fica pior com taxas de queda de visualização rápida e média de 62 e 82 por cento, respectivamente. Curiosamente, o desempenho do jogo nesses presets é ligeiramente melhor do que nos mais rápidos, mas eu suspeito que isso permite que o jogo obtenha um pouco mais de espaço na CPU para renderizar o jogo devido ao codec opressor.

Uma estratégia para aumentar seu desempenho pode ser limitar o jogo a 60 FPS, já que aqueles que estão assistindo a sua transmissão serão limitados a 60 FPS. Mas com esta cobertura no lugar, a história não é muito melhor: o preset mais rápido ainda vê 9% de todos os frames caírem, enquanto o preset mais rápido apenas se esforça sem queda de frames, mas 1% do jogo é baixo 40 FPS. A única opção para uso rápido seria diminuir a qualidade visual e tentar novamente, mas para este artigo não estávamos particularmente interessados ​​em otimizar o Assassin's Creed para streaming com nosso hardware.

Como 8700K neste tópico são limitados a streaming muito rápido ou streaming de GPU, será interessante ver como outras CPUs se acumulam na parte 2 desta pesquisa. Mas definitivamente a 8700K - uma CPU de jogos popular e topo de linha - é o cenário típico que mostramos aqui para postar em um título com uso intensivo de CPU e GPU. Aqueles com processadores de nível inferior, e especialmente aqueles com processadores Intel de núcleo inferior, atingem esse limite muito rápido com mais frequência.

Quanto ao Forza Horizon 4, que é muito menos exigente no CPU, é um caso interessante porque a codificação do software no CPU realmente oferece maior desempenho de jogo do que a codificação GPU acelerada por hardware. Isso ocorre porque há bastante espaço da CPU para codificar na CPU sem entrar no desempenho da GPU.

O preset ultra-rápido x264 impactou o desempenho de jogos em 6%, olhando para os níveis mais baixos de 6%, mas a diferença entre muito rápido e rápido foi apenas uma queda de 5%, apesar do grande aumento na potência da CPU necessária para codificar usando o preset rápido.

No lado do streaming, não vimos nenhuma queda de quadro com predefinições cada vez mais rápidas, mas eu rapidamente vi uma taxa de queda de quadro de 12% para o fluxo codificado. Isso causou uma gagueira desagradável no riacho. No entanto, considerando que rodamos o jogo a cerca de 120 FPS, podemos facilmente aplicar um limite de 60 FPS para reduzir o estresse no CPU do jogo. Com esta tampa no lugar, a predefinição rápida torna-se disponível com queda de quadro zero na saída. A tampa também abre a opção de codificação predefinida média, mas com o 8700K descobrimos que cerca de 2% de todos os frames caíram enquanto a tampa de 60 FPS ainda estava no lugar, o que não é o ideal. Se quiséssemos mudar para codificação média, teríamos que reduzir a carga da CPU do jogo com configurações de qualidade.

Conclusão (até o episódio 2 desta série)

Com todos esses testes feitos, aqui estão alguns tópicos interessantes. A principal descoberta para os compradores de GPU no momento é que o mecanismo de codificação de GPU de Turing para H.264 não é significativamente melhorado em comparação com Pascal e não torna a codificação de GPU absolutamente uma opção adequada para streaming.

A única vez que posso recomendar o uso do NVENC são os jogos de alta velocidade e movimento. Jogos menos móveis devem ser codificados usando a predefinição ultra-rápida x264 em vez de NVENC, e podem ser obtidos muito rapidamente na maioria dos computadores desenvolvidos com streaming em mente.

No front da AMD, até mesmo os mecanismos de codificação requerem muito trabalho para serem considerados. Não funciona com altas cargas de GPU e, quando funciona, a qualidade de saída é terrível.

A codificação da CPU é uma história mais difícil, pois o nível de codificação x264 que você pode gerenciar dependerá da sua CPU e, mais importante, do tipo de jogo que você joga. Com nosso sistema 8700K, mudamos de presos com codificação muito rápida em um jogo que exige muito da CPU, para sermos capazes de usar uma predefinição rápida e até média com uma saída de jogo estável de 60 FPS com configurações de boa qualidade em um título que requer menos CPU.

Mas o que as emissoras devem buscar é usar a predefinição rápida ao mínimo, a primeira predefinição para streaming do Twitch em que a qualidade de saída é boa o suficiente a 6 Mbps e, embora não seja ótima para cenas de ação rápida, eles são predefinidos mais rápidos ou muito rápidos, mas ainda em bom hardware. obtível. Médio também vale a pena tentar para aqueles com sistemas de ponta, mas eu não me incomodaria com nenhum dos presets ainda mais lentos.

Embora seja bom poder jogar e fazer streaming de jogos em um único computador, esse conselho realmente se aplica apenas a emissoras casuais ou de meio período. Qualquer profissional de streaming ou em tempo integral deve usar um segundo computador de captura de stream dedicado com uma boa placa de captura e CPU. Isso então libera completamente o trabalho de codificação e permite que você use confortavelmente uma predefinição média ou mais lenta para fluxos de melhor qualidade sem afetar o desempenho do jogo.

Agora descobrimos quais são as predefinições ideais em primeiro plano de qualidade. Na segunda parte desta série sobre streaming de jogos, exploraremos quais CPUs podem codificar nesses presets, portanto, fique atento.

Atalhos de compras

Crédito de manchete: Sean Do