Shared Ray Tracing Context for Multi-Client Parallel Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multi-client streaming systems for video content delivery, such as game streaming, inefficiently utilize server resources due to each client device being assigned a separate program instance for ray tracing, leading to high resource consumption and the 'long-tail problem' where some tasks take significantly longer than others, resulting in undesirable occupancy.

Innovation Solution

Implementing a shared ray tracing context, including a BVH, scene graph, and geometry data, to generate image frames in parallel for multiple client devices, using a single graphics context to traverse the same instance of the BVH based on individual game state information, allowing parallel processing of different rays for different client devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each client device is assigned a separate programinstance for ray tracing, then each client can receive dedicated rendering processing, but server resource consumption increases significantly

Engineering Contradiction:
Improvededicated rendering processingVSAvoidserver resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Multiple client devices share a common ray tracing context including the BVH, scene graph, and geometry data. The server processes rendering requests from multiple clients by traversing the shared BVH structure, combining what were previously separate rendering processes into a unified approach that reduces redundant data structures and memory allocations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared ray tracing context serves multiple client devices simultaneously. A single BVH and scene graph are used to generate image frames for different clients, allowing the system to provide dedicated rendering processing to multiple users without requiring separate complete rendering environments for each client.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If separate program instances are used for each client, then client-specific rendering can be optimized, but the long-tail problem causes undesirable occupancy

Engineering Contradiction:
Improveclient-specific rendering optimizationVSAvoidserver occupancy
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The rendering process is segmented into shared components (common BVH, scene graph, geometry data) and client-specific components (camera parameters, game state information). This allows the system to optimize for client-specific requirements while sharing the computationally intensive common components across multiple clients, reducing the impact of the long-tail problem.

Inventive Principle:
Principle #1Segmentation

3Use of energy by moving object

If a shared ray tracing context is implemented, then server resources and memory are conserved, but parallel processing capability may be reduced

Engineering Contradiction:
Improveserver resource consumptionVSAvoidparallel processing capability
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The system processes rendering tasks across multiple dimensions by handling different client devices simultaneously through the shared BVH traversal. Different rays for different client devices are processed in parallel where possible, while sharing common data structures reduces memory bandwidth constraints that would otherwise limit parallel processing scalability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20250391097A1Parallel multi-client ray tracing task processing
Publication Date: 2025.12.25 ADVANCED MICRO DEVICES INC
  • US20250391097A1 patent drawing
  • US20250391097A1 patent drawing
  • US20250391097A1 patent drawing

AI summary

A server employs shared ray tracing data to generate video streams for multiple client devices in parallel. The server receives requests to perform ray tracing tasks for multiple client devices to depict at least respective portions of a scene, uses the shared ray tracing data to perform ray tracing operations for each of the client devices, based on the ray tracing operations generates different sets of image frames, and streams each set of image frames to a corresponding client device over a network.