Skip to content
concurrents

Technology

GPEG is to interactive content what MPEG was to video.

GPEG (Geometry Pump Engine Group) streams the subassets of a 3D world by predicted visibility. The game engine on the player's device becomes the media player: no video encode, no compression artifacts, and no server GPU.

13

Issued GPEG patents, US and international

2

Articles in IEEE Computer, May 2022 and June 2024

~5%

The cost of video-based cloud gaming

0

Server GPUs. GPEG runs on commodity CPUs

01 — How GPEG works

Send what will be seen, before it's seen.

01 · Encode

Run once from the engine editor, the GPEG encoder splits the world into subassets (mesh clusters and texture tiles) and uploads them to a CDN. The build itself doesn't change.

Illustrative Figures in the animation

  1. 01 · Encode

    Run once from the engine editor, the GPEG encoder splits the world into subassets (mesh clusters and texture tiles) and uploads them to a CDN. The build itself doesn't change.

  2. 02 · Viewcells and PVS

    The encoder divides the space a player can move through into viewcells and precomputes, for each one, a conservative potentially visible set (PVS): every subasset that can be seen from anywhere inside it.

  3. 03 · Predictive prefetch

    A lightweight server process (under one CPU core, no GPU) follows the player, predicts the viewcells they can reach in the next few hundred to few thousand milliseconds, and prefetches what becomes visible there.

  4. 04 · Client integration

    The GPEG plug-in in the player's engine fetches each subasset from the CDN as it is needed and hands it over as it lands. The engine renders as it always does, at native resolution and frame rate.

Illustrative Figures in the animation

02 — GPEG vs video streaming

Video sends a picture. GPEG sends the world.

Video cloud gaming renders on a remote GPU and streams the result. GPEG streams what the engine needs to render the world itself, so the costs and limits of video never apply.

Side by side
Server hardware
Video: A GPU for every player
GPEG: Commodity CPUs, no server GPU
Cost
Video: Grows with GPU hours
GPEG: ~5% of video cloud gaming
Latency
Video: Every input goes to the server and back as video
GPEG: Input is handled on the device
Artifacts
Video: Compression blocks smear on fast motion
GPEG: None: nothing is ever video
Frame rate
Video: Capped by the stream
GPEG: Bound by the player's own GPU
AR and VR
Video: Each head turn waits on a round trip
GPEG: Rendered on the headset

03 — Stutter

Two kinds of stutter, one cause.

Engines find out what they need at the moment they need it. GPEG knows sooner, because visibility is computed before anyone plays.

Traversal stutter

The world arrives before you do.

Just-in-time loadingGPEGIllustrative
Today
Engines that stream from a fast SSD look at the current frame, find what's missing, and fetch it for the next one. When a region suddenly needs more than the drive or the network can deliver, the frame waits. Over broadband, with far more latency and less bandwidth, it waits often.
With GPEG
Each viewcell's visible set is known in advance, and so is which viewcells the player can reach next. Their subassets arrive before the boundary does, so crossing it costs nothing.
Shader compilation stutter

Shaders are ready before they're seen.

Just-in-time loadingGPEGIllustrative
Today
Many engines compile a material's shaders the first time it is drawn. On PC, where shaders can't be prebuilt for every GPU and driver, that first sight is a hitch.
With GPEG
The same prediction says which materials are about to come into view, so the engine compiles their shaders while they are still out of sight.

04 — Research

Published, and patented.

The method is in the open, in IEEE Computer. You don't have to take our word for it.

IEEE Computer, May 2022 · Cover feature

Toward a New Type of Stream for Interactive Content

Barry L. Jenkins, John Scott, Francois Malassenet, Kshitij Patil

Introduces subasset streaming: conservative visibility precomputation, submesh clustering and texture tiling, and a navigation-driven API.

Read at IEEE ↗Our summary →

IEEE Computer, June 2024 · Games column

Streamed Interactive Media: How Changing the Paradigm on Streaming Game Content Enables a New Media Category

Barry Jenkins, Warren Mayoss

Names the delivery bottleneck behind traversal stutter, shows how predictive prefetch over broadband removes it, and describes the new media it makes possible.

Read at IEEE ↗Our summary →

13

Patents

13 issued GPEG patents, US and international, with Dr. Barry Jenkins as inventor. They cover conservative visibility precomputation, submesh clustering, texture tiling for visibility-based prefetch, and navigation-driven asset streaming.

See your own world as a stream.

Tell us what you're building. We reply to every message.