A Clo loud Gaming Framework for Dynamic Graphical Rendering Towards - - PowerPoint PPT Presentation

a clo loud gaming framework for dynamic graphical
SMART_READER_LITE
LIVE PREVIEW

A Clo loud Gaming Framework for Dynamic Graphical Rendering Towards - - PowerPoint PPT Presentation

A Clo loud Gaming Framework for Dynamic Graphical Rendering Towards Achie ieving Dis istri ributed Game Engines James Bulman, Peter Garraghan Evolving Distributed Systems Lab Lancaster University, UK Video Games Worlds largest


slide-1
SLIDE 1

A Clo loud Gaming Framework for Dynamic Graphical Rendering Towards Achie ieving Dis istri ributed Game Engines

James Bulman, Peter Garraghan Evolving Distributed Systems Lab Lancaster University, UK

slide-2
SLIDE 2

Game Instance

Video Games

World’s largest entertainment sector

  • $143.5 billion in 2020

Game engines use tightly-coupled subsystems

  • Graphics, physics, AI, lighting, audio, etc…
  • Synchronize within the game loop

Ambitious creativity -> Quality of Experience

  • Higher computation & hardware demands
  • Game consoles, GPUs, VR, etc.

Update game state Render game state Handle Input Swap Buffers Game Code Graphical API Operating System Hardware

slide-3
SLIDE 3

Cloud Gaming

Cloud gaming exploits cloud resources providing Games as a Service

  • Google Stadia, Microsoft Project xCloud
  • Game executed in cloud VM with minor* modifications

Benefits

  • Instant access to games without downloads
  • Powerful hardware -> higher quality experiences
  • Cross-device access

Cloud VM

Video by Jordan Mechner, licensed under the Creative Commons Attribution-Share Alike 4.0 International

slide-4
SLIDE 4

Research Problem

Reliance on Cloud performance & dependability

  • VM interference or failure
  • Network volatility
  • Inconsistent framerate, total service loss

Monolithic game engine architectures

  • Tightly-coupled subsystems
  • Limited portability (OS, graphics API)
  • Game per VM: “Equiv. game experience + latency”

Allow cloud-client execution Distributed game subsystems

Client device

Input processor Video player Input Video

Cloud VM

Input processor Update game state Render game state Video encoding

slide-5
SLIDE 5

Objectives

Features

  • Loose-coupling graphical renderer and game engine
  • Dynamic cloud-client frame interlacing
  • Graphical API hot-swapping

Advantages

  • Platform and graphics API independence
  • Tolerate against Cloud failure and network loss
  • First distributed game engine designed for the cloud

A Cloud Gaming Framework for Distributed Game Engines

slide-6
SLIDE 6

Overview

CloudRend

  • Leverages generic graphical commands
  • Converts these commands to API specific calls
  • Cloud-client rendering
  • Supports Vulkan, OpenGL

Cloud VM

CloudRend

Mitigation API Hotswap Frame Interlacing Game Instance Manager Graphic Converter QoS Monitor Renderer Selector Command Buffer

CloudRend CloudRend OpenGL Vulkan

slide-7
SLIDE 7

Mitigation

Hotswap

Run-time switching of Graphical APIs (Vulkan, OpenGL)

Frame Interlacing

Collaborative cloud-client rendering (based on network)

Cloud VM OpenGL Vulkan Cloud VM OpenGL Cloud VM 30 frames/s 30 frames/s

slide-8
SLIDE 8

Architecture

Game Loop

Screen

Local Renderer Instance OpenGL CloudRend Instance #2 OpenGL Encoder CloudRend Instance #1 Vulkan Encoder CloudRend Interface Decoder

0% 100%

Client Cloud

slide-9
SLIDE 9

CloudRend

Client Cloud

Screen

Game Loop CloudRend Interface RenderModel() RenderLightSet() EndFrame() Transmit Command Buffer Decode Frame CloudRend Instance Command Processor RenderModel() RenderLightSet() RenderModel Vulkan

vkCmdBindVertexBuffers() vkCmdPushConstants() vkCmdBindIndexBuffers() vkCmdDrawIndexed()

RenderLightSet Vulkan

vkCmdPushConstants()

Encode Frame Read Framebuffer

slide-10
SLIDE 10

Setup

System

  • Cloud: i7-7700HQ, GTX 1050 GPU, Vulkan/OpenGL
  • Client: Raspberry Pi 4, Quad Core Cortex-A72, OpenGL ES 3.0

Variable latency wireless network (16 – 100 ms)

Experiments

  • Cloud-client frame interlacing (100-0% … 0%-100%)
  • Graphical API hotswapping per frame
  • 10,000 frame per run, frames per second (FPS), network

Low: 500 vertices High: 200k vertices

slide-11
SLIDE 11

In Initial Results

Higher consistent framerates when interlacing Low network utilization ~4 Mbps

20 40 60 Local 25% Cloud 50% Cloud 75% Cloud Cloud

Framerate (FPS)

Low Vertices Scene High Vertices Scene

Trade-off render complexity vs network latency

slide-12
SLIDE 12

Conclusions

Cloud gaming framework via distributed game engines

  • Successful game distribution across cloud and client devices
  • 33% performance gains, cloud latency vs. client computation

Vision

  • Create fully-fledged cloud gaming framework and distributed game engines
  • Cloud gaming in the home

Future Work

  • Network-aware + power-aware frame interlacing
  • System at scale – shared subsystems
  • More decoupled subsystems – AI, collision detection, physics
slide-13
SLIDE 13

Thanks

Contact

  • James Bulman - j.bulman@lancaster.ac.uk
  • Peter Garraghan - p.garraghan@lancaster.ac.uk

Evolving Distributed Systems Lab School of Computing & Communications Lancaster University, UK