Method and system for artificially and dynamically limiting the framerate of a graphics processing unit
First Claim
1. A method for limiting the frame rate of a graphics processing unit, the method comprising:
- in a computer system comprising an integrated graphics processing unit (GPU) and a discrete GPU,generating a timestamp in response to a rendering being completed for a current frame of a plurality of frames;
comparing the timestamp for the current rendered frame to a timestamp of a previous frame in the plurality of frames corresponding to a most recent power source query to determine if a duration of elapsed time between the respective timestamps exceeds a timing threshold value;
querying a current power source of the computer system to determine if the current power source has changed since the most recent power source query when the timestamp of the previous frame exceeds the timing threshold value;
in the event the current power source has changed since the most recent power source query, determining if the computer system is being powered by a first power source of a plurality of power sources;
in the event the power source comprises the first power source of the plurality of power sources, determining if the discrete GPU is currently in operation; and
automatically limiting a frame rate of the discrete GPU if the frame rate is above a frame rate threshold value in response to a determination that the discrete GPU is currently in operation.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention are directed to provide a method and system for applying automatic power conservation techniques in a computing system. Embodiments are described herein that automatically limits the frame rate of an application executing in a discrete graphics processing unit operating off battery or other such exhaustible power source. By automatically limiting the frame rate in certain detected circumstances, the rate of power consumption, and thus, the life of the current charge stored in a battery may be dramatically extended. Another embodiment is also provided which allows for the more effective application of automatic power conservation techniques during detected periods of inactivity by applying a low power state immediately after a last packet of a frame is rendered and displayed.
301 Citations
22 Claims
-
1. A method for limiting the frame rate of a graphics processing unit, the method comprising:
-
in a computer system comprising an integrated graphics processing unit (GPU) and a discrete GPU, generating a timestamp in response to a rendering being completed for a current frame of a plurality of frames; comparing the timestamp for the current rendered frame to a timestamp of a previous frame in the plurality of frames corresponding to a most recent power source query to determine if a duration of elapsed time between the respective timestamps exceeds a timing threshold value; querying a current power source of the computer system to determine if the current power source has changed since the most recent power source query when the timestamp of the previous frame exceeds the timing threshold value; in the event the current power source has changed since the most recent power source query, determining if the computer system is being powered by a first power source of a plurality of power sources; in the event the power source comprises the first power source of the plurality of power sources, determining if the discrete GPU is currently in operation; and automatically limiting a frame rate of the discrete GPU if the frame rate is above a frame rate threshold value in response to a determination that the discrete GPU is currently in operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for limiting the frame rate of a graphics processing unit to reduce power consumption comprising:
-
a plurality of graphics processing units comprising a first graphics processing unit and a second graphics processing unit, for rendering graphical output comprising a plurality of frames and a timestamp generated for each of the plurality of frames; a display device for displaying graphical output received from a currently operating graphics processing unit of the plurality of graphics processing units; a central processing unit for distributing a plurality of packets comprising a plurality of rendering instructions to the currently operating graphics processing unit; a plurality of frame buffers respectively comprised in, and corresponding to, the plurality of graphics processing units for storing a plurality of graphics rendering instructions; and a plurality of power sources for providing an operating power source to the system, the plurality of power sources comprising a first power source and a second power source; wherein the plurality of power sources is queried to determine the operating power source when a timestamp between successive frames of the plurality of frames is greater than a timing threshold by comparing the timestamp of a current frame of the plurality of frames to a timestamp of a previous frame of the plurality of frames corresponding to a most recent power source query to determine if a duration of elapsed time between the respective timestamps exceeds a timing threshold value, further wherein, in response to detecting a change in the operating power source from the first power source to the second power source, the currently operating graphics processing unit is determined, and a frame rate of the second graphics processing unit is artificially limited to a threshold value if the second graphics processing unit is determined to be the currently operating graphics processing unit. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A method for reducing the rate of power consumption of a graphics processing unit, the method comprising:
-
in a computer system comprising an integrated graphics processing unit (GPU) and a discrete GPU, determining which of the integrated GPU and the discrete GPU is currently in operation, in the event a discrete GPU is determined to be currently in operation; receiving a packet of a plurality of packets corresponding to a first frame of a second plurality of frames in a discrete GPU, the packet comprising a plurality of rendering instructions; determining if the packet is a flagged packet; in the event the packet is the flagged packet, determining a type of power source currently supplying power to the computer system; and in response to determining the type of power source currently supplying power to the computer system comprises a battery-operated power source, immediately achieving a low power state in the discrete GPU upon the GPU completes rendering data contained in the flagged packet, wherein the flagged packet comprises a packet flagged as a last packet in a plurality of packets corresponding to a frame of graphical output, further wherein, the determining which of the integrated GPU and the discrete GPU is currently in operation comprises generating a timestamp in response to a rendering being completed for a current frame of a first plurality of frames and comparing the timestamp of the current frame to a timestamp of a previous frame corresponding to a most recent power source query to determine if a duration of elapsed time between the respective timestamps exceeds a timing threshold value. - View Dependent Claims (19, 20, 21, 22)
-
Specification