System and method for improving the graphics performance of hosted applications
First Claim
1. A method comprising operations of:
- executing an application that includes calls to an application program interface (API) for a graphics engine that generates a series of video frames using a graphics processing unit (GPU);
determining that a first video frame in the series has been completely written to a back buffer;
determining whether a current scan line of a second video frame is outside of a specified region, wherein the second video frame is stored in a front buffer and is being read out line by line following receipt of a monitored synchronizing signal;
inserting busy work for the GPU if the current scan line is inside of the specified region;
presenting the first video frame to the front buffer without frame transitions, if the current scan line is outside of the specified region and is in a vertical blanking interval (VBI); and
presenting the first video frame to the front buffer with frame transitions, if the current scan line is outside of the specified region and is not in the VBI.
1 Assignment
0 Petitions
Accused Products
Abstract
A method includes the following operations: (1) executing an application that that generates a series of video frames using a graphics processing unit (GPU); (2) determining that a first video frame in the series has been completely written to a back buffer; (3) determining whether a current scan line of a second video frame is outside of a specified region, where the second video frame is stored in a front buffer and is being read out line by line following receipt of a monitored synchronizing signal; (4) presenting the first video frame to the front buffer without frame transitions, if the current scan line is outside of the specified region and is in a vertical blanking interval (VBI); and (5) presenting the first video to the front buffer with frame transitions, if the current scan line is outside of the specified region and is not in the VBI.
-
Citations
20 Claims
-
1. A method comprising operations of:
-
executing an application that includes calls to an application program interface (API) for a graphics engine that generates a series of video frames using a graphics processing unit (GPU); determining that a first video frame in the series has been completely written to a back buffer; determining whether a current scan line of a second video frame is outside of a specified region, wherein the second video frame is stored in a front buffer and is being read out line by line following receipt of a monitored synchronizing signal; inserting busy work for the GPU if the current scan line is inside of the specified region; presenting the first video frame to the front buffer without frame transitions, if the current scan line is outside of the specified region and is in a vertical blanking interval (VBI); and presenting the first video frame to the front buffer with frame transitions, if the current scan line is outside of the specified region and is not in the VBI. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising operations of:
-
executing an application that includes calls to an application program interface (API) for a graphics engine that generates a series of video frames using a graphics processing unit (GPU); determining that a first video frame in the series has been completely written to a back buffer; determining whether a current scan line of a second video frame is outside of a specified region, wherein the second video frame is stored in a front buffer and is being read out line by line to a display following receipt of a monitored synchronizing signal; inserting busy work for the GPU if the current scan line is inside of the specified region; presenting the first video frame to the front buffer without frame transitions, if the current scan line is outside of the specified region and is in a vertical blanking interval (VBI); presenting the first video frame to the front buffer with frame transitions, if the current scan line is outside of the specified region and is not in the VBI; and transferring the first video frame from a shared buffer to the back buffer, wherein each of the operations is performed by one or more servers that receive input from the client device through an inbound routing system which includes a plurality of network switches. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method comprising operations of:
-
executing an application that includes calls to an application program interface (API) for a graphics engine that generates a series of video frames using a graphics processing unit (GPU); determining that a first video frame in the series has been completely written to a back buffer; determining whether a current scan line of a second video frame is outside of a specified region, wherein the second video frame is stored in a front buffer and is being read out line by line to an encoder for compression following receipt of a monitored synchronizing signal; inserting busy work for the GPU if the current scan line is inside of the specified region; presenting the first video frame to the front buffer without frame transitions, if the current scan line is outside of the specified region and is in a vertical blanking interval (VBI); presenting the first video frame to the front buffer with frame transitions, if the current scan line is outside of the specified region and is not in the VBI; and transferring the first video frame from a shared buffer to the back buffer, wherein each of the operations is performed by one or more servers that receive input from the client device through an inbound routing system which includes a plurality of network switches. - View Dependent Claims (19, 20)
-
Specification