System and method for improving the graphics performance of hosted applications
First Claim
1. A server-based system for hosting applications/video games for a plurality of clients comprising:
- an application/game server comprising a central processing unit to process application/video game program code and a graphics processing unit (GPU) to process graphics commands and generate a series of video frames for the application/video game;
one or more back buffers to store video frames as the video frames are being created in response to the execution of the graphics commands;
a front buffer to receive a video frame for rendering on a display after the video frame has been completed in one of the one or more back buffers, the front buffer outputting the video frame for display one scan line at a time at a designated scan out frequency, a subset of scan lines stored in the front buffer being associated with a specified time interval;
a frame processing module to perform real-time profiling of the GPU by performing the operations of;
tracking how long it takes the GPU to execute certain types of operations while in a current mode of operation; and
updating a benchmark data structure with values representing an amount of time needed for each specified type of operation.
5 Assignments
0 Petitions
Accused Products
Abstract
A system for hosting video games comprising: a game server comprising a central processing unit to process video game program code and a graphics processing unit (GPU) to process graphics commands; one or more back buffers to store video frames in response to the execution of the graphics commands; a front buffer to receive a video frame for rendering on a display and outputting the video frame for display one scan line at a time at a designated scan out frequency, a subset of scan lines stored in the front buffer being associated with a vertical blanking interval (VBI); a frame processing module to increase the number of scan lines associated with the VBI to increase the likelihood that a new frame will be completed in a back buffer and ready for transfer to the front buffer at a time during the VBI.
15 Citations
26 Claims
-
1. A server-based system for hosting applications/video games for a plurality of clients comprising:
-
an application/game server comprising a central processing unit to process application/video game program code and a graphics processing unit (GPU) to process graphics commands and generate a series of video frames for the application/video game; one or more back buffers to store video frames as the video frames are being created in response to the execution of the graphics commands; a front buffer to receive a video frame for rendering on a display after the video frame has been completed in one of the one or more back buffers, the front buffer outputting the video frame for display one scan line at a time at a designated scan out frequency, a subset of scan lines stored in the front buffer being associated with a specified time interval; a frame processing module to perform real-time profiling of the GPU by performing the operations of; tracking how long it takes the GPU to execute certain types of operations while in a current mode of operation; and updating a benchmark data structure with values representing an amount of time needed for each specified type of operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for hosting applications/video games for a plurality of clients comprising:
-
processing application/video game program code by a central processor of an application/game server and processing graphics commands by a graphics unit (GPU) to generate a series of video frames for the application/video game; storing video frames in one or more back buffers as the video frames are being created in response to the execution of the graphics commands; receiving a video frame for rendering on a display in a front buffer after the video frame has been completed in one of the one or more back buffers, the front buffer outputting the video frame for display one scan line at a time at a designated scan out frequency, a subset of scan lines stored in the front buffer being associated with a specified time interval; performing real-time profiling of the GPU by performing the operations of; tracking how long it takes the GPU to execute certain types of operations while in a current mode of operation; and updating a benchmark data structure with values representing an amount of time needed for each specified type of operation. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification