cloud gaming

42
Cloud Gaming Caio Valente

Upload: gizi

Post on 24-Feb-2016

52 views

Category:

Documents


0 download

DESCRIPTION

Cloud Gaming. Caio Valente. Cloud Gaming ou Gaming on Demand. Stream de um jogo que fica armazenado em servidores remotos e é transmitido de maneira similar a serviços de “Video on Demand” como YouTube. A transmissão ocorre através de um aplicativo ou mesmo do browser. Tópicos. Motivação - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cloud Gaming

Cloud Gaming

Caio Valente

Page 2: Cloud Gaming

Cloud Gaming ou Gaming on Demand

Stream de um jogo que fica armazenado em servidores remotos e é transmitido de maneira similar a serviços de “Video on Demand” como YouTube. A transmissão ocorre através de um aplicativo ou mesmo do browser.

Page 3: Cloud Gaming

Tópicos

• Motivação• Arquitetura

Captura de vídeoEncodeTransmissão

• Hardware• Vantagens• Problemas• Serviços existentes

Page 4: Cloud Gaming

Motivação

• “Video games will be the fastest-growing and most exciting form of mass media over the coming decade” -- The Economist

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 20170

10

20

30

40

50

60

70

80

90

Receita em bilhões de dólares por ano

Page 5: Cloud Gaming

Motivação

• Cloud Gaming é uma tecnologia relativamente nova, mas que já está sendo incorporada na indústria de jogos.

Page 6: Cloud Gaming

Motivação

• Cloud Gaming é uma forma de obter alta qualidade gráfica num dispositivo móvel, que apresenta limitações devido ao tamanho e bateria.

Page 7: Cloud Gaming

Motivação

• Renderização em tempo real

• Pode ser custoso dependendo da qualidade gráfica desejada.

Page 8: Cloud Gaming

Motivação

Page 9: Cloud Gaming

MotivaçãoComparação de alguns dispositivos móveis com GPUs antigas.

Para se ter uma noção da diferença de processamento uma GeForce TITAN atinge 709.8 Fps no mesmo teste.

Page 10: Cloud Gaming

Arquitetura

Page 11: Cloud Gaming

Arquitetura - Cliente

Cliente tem 2 tarefas:

• Vídeo Recebe os dados de vídeo vindo do servidor, faz o decode e a exibição para o usuário

• Comandos Ao receber um comando cria um pacote e manda para o servidor

Page 12: Cloud Gaming

Arquitetura - Servidor• No modo de operação normal o

servidor tem 3 funções distintas:

1 Captura do vídeo, encode e transmissão para o cliente

2 Receber os comandos vindos do cliente e enviar esses comandos para o jogo

3 Executar o jogo

Page 13: Cloud Gaming

Arquitetura – Servidor• Servidor inicializa com um processo num estado de

espera

• Ao receber uma requisição faz um fork() e o processo filho inicializa uma instancia de algum jogo

• O processo filho então e muda para o modo de operação normal

• Jogos baseados em Direct3D ou OpenGL

Page 14: Cloud Gaming

Arquitetura – Servidor

Método mais recente

• Uso de virtualização

• GPUs virtualizadas

Page 15: Cloud Gaming

Transmissão

• Uso de TCP durante a primeira fase, para autenticação

Page 16: Cloud Gaming

Transmissão• Real-Time Transport Protocol (RTP)

Protocolo padrão para transporte de vídeo/áudio em redes IP

• Fica na camada de aplicações, usa UDP na camada de transporte.

Page 17: Cloud Gaming

Transmissão

• Uso de RTCP para informações de controle, sincronização e parâmetros de QoS

• RTP usa algum outro protocolo como SDP para descrever a mídia

Page 18: Cloud Gaming

Transmissão

RTP é usado pois:

• Detecção da ordem de chagada de dados

• Compensação de Jitter

• Permite o uso de multicast para transmissão para vários usuários

Page 19: Cloud Gaming

Transmissão

• Comandos são passados por UDP

• Basta transmitir para varias pessoas ao mesmo tempo para que possam acompanhar o progresso de um jogador

Page 20: Cloud Gaming

Ferramentas para captura de vídeo

Há varias ferramentas disponíveis para isso, alguns exemplos são:

• http://taksi.sourceforge.net/

• http://www.x.org/wiki/

Page 21: Cloud Gaming

Codec

• Programa usado para comprimir/descomprimir um sinal

• É usado para reduzir o impacto causado sobre a rede na transmissão do vídeo

Page 22: Cloud Gaming

Codec

• É usado normalmente H.264/MPEG-4 AVC

• “Today, H.264 is the only codec that can reach 98% of the installed base of computers”

• Uma ferramenta para realizar o encode é FFMpeg http://www.ffmpeg.org/

Page 23: Cloud Gaming

Codec

• H.264/MPEG-4 AVC pode ser dividido em duas partes VCL e NAL

• VCL Video Coding Layer

• Responsável pelo tratamento do vídeo

• Subdivide cada frame do vídeo e enviando apenas pedaços que foram alterados

Page 24: Cloud Gaming

Codec

• NAL Network Abstraction Layer

• Facilita o mapeamento do VCL para por exemplo:

• RTP/IP• MP4• MPEG-2

Page 25: Cloud Gaming

Hardware

• Nvidia Grid• 20 servidores GRID por rack• 240 GPUs por rack• 720 jogadores simultâneos por

rack• 7.200 assinantes por rack

Page 26: Cloud Gaming

Hardware

Page 27: Cloud Gaming

Hardware

• Radeon Sky• AMD Radeon™ Sky Series graphics card can

support up to six HD (720p) game streams each

Page 28: Cloud Gaming

Vantagens

• Não é necessário ter o jogo instalado

• Computador do usuário não é importante

• Acessível por diversos meios, desktop, notebook, tablet e smartphone

Page 29: Cloud Gaming

Problemas

• Demanda muito da rede – 2 Mbit/s é requisito mínimo no OnLive, 5Mbit/s é o recomendado

• Compressão de vídeo antes da transmissão, o que aumenta a latência e implica em perda de qualidade gráfica

Page 30: Cloud Gaming

Problemas

Gráfico de tempo por bytes/segundo

Banda gasta fica em torno de 700KB/s

Page 31: Cloud Gaming

Problemas

• Input lag: Tempo entre a realização de uma ação e sua resposta na tela

• Normalmente temos:Input lag = controller lag + frame processing + display lag

• Para soluções em nuvem:Input lag = controller lag + frame processing + display lag + network lag + encode lag + decode lag

166ms começa a se tornar um problemaController lag >= 3*frame processing – 50ms a 60fps

Page 32: Cloud Gaming

Problemas

• Internet pode ter um peso muito alto na latência

"The reason location is so critical is because of the speed of light. If you are more than 1000 miles from an OnLive data center, then the round trip communications delay ('ping' time) between your home and OnLive will be too long for fast-action video games."

• Em relação a dispositivos móveis, nem todos os jogos são viáveis. Controle?

Page 33: Cloud Gaming

• 294 jogos• Demo de 30 minutos para cada jogo• Suporte a PC, Mac, Smartphone, Tablet e TV• Compra dos jogos separados, ou mensalidade que libera 200+

jogos• Uma das features mais interessantes é poder acompanhar o

progresso de um jogador

Page 34: Cloud Gaming

• Serviço criado como concorrente ao OnLive, foi comprado pela Sony por U$380mi

• Deve ser usado para fazer stream de demos e jogos para o PS4, permitindo inclusive compatibilidade com versões anteriores do Playstation ( Stream de jogos do PS3 no PS4 )

Page 35: Cloud Gaming

Modelo de negócio:

• Compra• Assinatura• Comerciais

Uso do browser como ao invés de um cliente

Page 36: Cloud Gaming

Outros serviços

Page 37: Cloud Gaming

Para os interessados em testar• https://games.onlive.com/go/signup

• 30 minutos de graça nos seguintes jogos:

• Civilization 5• Homefront• Just Cause 2• Driver• Mafia 2• NBA 2K12

Page 38: Cloud Gaming

Demo

Page 39: Cloud Gaming

Duvidas?

Page 42: Cloud Gaming

Referências• http://www.streamingmedia.com/Articles/Editorial/What-Is-.../What-is-H.264-74735.aspx

• http://www.nvidia.com.br/object/cloud-get-started-br.html

• http://www.amd.com/us/products/desktop/workstation/cloud/Pages/cloud-gaming.aspx#1

• http://venturebeat.com/2012/09/21/after-onlive-heres-why-nvidia-believes-cloud-gaming-is-just-getting-started-interview/

• http://ovum.com/2012/05/28/nvidia-enables-gpu-virtualization-and-talks-up-cloud-for-gaming-and-vdi/

• http://www.eurogamer.net/articles/onlive-beta-latency-issues-explained

• http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC

• http://www.cisco.com/en/US/tech/tk652/tk698/technologies_tech_note09186a00800945df.shtml

• Octree-Based Sparse Voxelization for Real-Time Global Illumination, Cyril Crassin NVIDIA Research