~/talk

Overcoming latency, How we build a Cloud Game service with Go

Talkat GopherCon Vietnam 2019 · on Saturday, 2019-11-02· [web-performance, game-development]
links:none on file
slides:none on file

Proof-of-concept Cloud Gaming service implemented in Go that runs game emulators server-side, hooks image/audio frames, encodes them with VP8 and Opus and streams over WebRTC + VP8 + Opus to browser and mobile; coordinator pings workers to pick the closest server, sessions use Go channels for component communication and concurrency, achieving smooth Megaman demo play but hitting CPU-bound encoding limits for AAA titles, plus cgo crashes and goroutine/closed-channel leaks that need profiling and fixes.

AI-written summary · about

  1. 0:00Introduction to cloud gaming
  2. 2:09Latency challenges in streaming
  3. 4:10Single-player focus in cloud gaming
  4. 5:19WebRTC technology overview
  5. 7:55Video and audio compression
  6. 8:41Server selection for low latency
  7. 9:22Go channels for concurrency
  8. 11:12Handling multiplayer input
  9. 12:40Concurrency with select statements
  10. 14:08Go channel performance pitfalls
  11. 15:17Working with C libraries in Go
  12. 15:59Profiling Go applications
  13. 16:45Future improvements and demo
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.