Shared GPU Shader Cache for Cloud Gaming Compilation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud gaming, the duration required for compiling shader codes is lengthy, leading to slower game running speeds, as existing technologies lack efficient methods for sharing and utilizing pre-compiled shader code results across multiple system containers.
Innovation Solution
The implementation of a shared GPU shader cache mechanism, including both static and dynamic caching methods, where pre-compiled shader code results are shared among system containers, allowing direct use of cached results instead of recompiling, thereby reducing the compilation duration and enhancing game speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If shader code is compiled individually for each system container, then each container has independent shader compilation capability, but the compilation duration is lengthy and game running speed is slow
Solution Approach 1:
The patent merges the shader compilation resources and results across multiple system containers by introducing a shared directory that stores pre-compiled shader codes. Instead of each container independently compiling shaders, the system combines compilation efforts and allows containers to share results, directly reducing compilation duration while maintaining rendering capability.
Solution Approach 2:
The patent applies preliminary action by pre-compiling shader codes in advance and storing them in a shared directory before they are needed by system containers. This advance preparation eliminates the need for time-consuming compilation during game runtime, directly addressing the compilation duration issue.
2Loss of time
If shader code is pre-compiled and cached, then compilation duration is reduced, but the system requires additional storage and cache management infrastructure
Solution Approach 1:
The patent introduces a shared directory as an intermediary component that sits between the compilation process and system containers. This intermediary stores pre-compiled shader codes and manages the caching mechanism, reducing the complexity burden on individual containers while enabling time savings through centralized cache management.
3Productivity
If multiple system containers share pre-compiled shader codes, then game running speed increases, but the system requires a shared directory mechanism between containers
Solution Approach 1:
The shared directory mechanism serves multiple functions: it stores pre-compiled shader codes, provides a caching layer for multiple containers, and enables inter-container communication for resource sharing. This multi-functionality justifies the added complexity by delivering productivity improvements across the entire system rather than a single component.
Data Source
AI summary
This application discloses an image processing method, a server, and a computer-readable storage medium. The method includes: obtaining, in response to a trigger for an operation event of a target game running in a target container, a target shader code corresponding to the operation event; obtaining a target compilation result of the target shader code from a game resource, the game resource including: a game image of the target game and/or a target shared directory between the target container and an associated container of the target container. The target shared directory includes a first compilation result of compiling, when running the target game, at least one shader code by the associated container; and performing graphic processing according to the target compilation result to obtain a feedback image corresponding to the operation event.


