Graphics Processing Architecture With Shared-Memory Frame Pipelining
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional graphics processing units (GPUs) in cloud gaming systems render frames and then queue them for encoding, leading to longer processing times and potential lags due to the lack of pipelining between rendering and encoding processes.
Innovation Solution
Implement a simulated library in shared memory within the GPU to divert media frame generation input events, allowing frames to be queued for encoding before rendering is complete, thus enabling simultaneous processing without blocking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If frames are rendered and then queued for encoding sequentially, then the rendering process can complete fully before encoding starts, but the processing time increases and lags occur
Solution Approach 1:
The patent applies preliminary action by queuing frames for encoding before the rendering process is fully complete. The system captures frames at an intermediate stage of rendering and places them in a queue for encoding, allowing the encoding process to start in advance. This overlap of operations reduces the total processing time while ensuring both rendering and encoding complete successfully.
2Manufacturing precision
If frames are queued for encoding after rendering, then encoding can wait for complete frame data, but the frame rate control and processing speed are reduced
Solution Approach 1:
The system performs preliminary encoding preparation by queuing frames before rendering completes. This allows the encoding pipeline to be prepared in advance, increasing frame processing speed while maintaining data completeness through proper synchronization mechanisms that ensure encoding receives complete frame data when needed.
Solution Approach 2:
The patent implements continuous useful action by maintaining overlapping rendering and encoding operations. Frames are continuously queued for encoding as rendering progresses, creating a continuous pipeline where both processes operate simultaneously rather than sequentially, thereby increasing productivity while maintaining frame data integrity.
3Device complexity
If traditional sequential processing is used, then the system is simpler to implement, but the gameplay experience suffers from lags and slowdowns
Solution Approach 1:
The patent introduces preliminary action through frame queuing before rendering completes, which increases processing architecture complexity but dramatically improves gameplay smoothness by eliminating lags. The queueing mechanism allows encoding to start in advance, creating a smoother gameplay experience at the cost of increased system complexity.
Solution Approach 2:
The system implements continuous useful action with overlapping rendering and encoding operations, creating a more complex architecture that maintains constant productive work flow. This continuity eliminates gaps and lags in frame processing, resulting in smoother gameplay despite the increased architectural complexity.
Data Source
AI summary
The disclosed computer-implemented method includes instantiating a simulated library in a shared memory that is shared between a plurality of hardware components in a graphics processing unit (GPU), diverting media frame generation input events produced as part of a multimedia application to the simulated library in the shared memory, selecting at least one media frame for rendering, according to the media frame generation input events, from within the simulated library in the shared memory, queueing the selected media frame for encoding before rendering of the selected media frame is complete and, upon determining that the selected media frame has been rendered, encoding the rendered media frame according to the queue. Various other methods, systems, and computer-readable media are also disclosed.


