Controlling animation frame rate of applications
First Claim
1. A method for controlling an animation rendering frame rate of an application comprising:
- determining a rendering system state of a rendering system, the rendering system state comprising a composite rate at which the rendering system composites rendered animation frames of one or more applications into a visual layout for display;
determining an application state of at least one application of the one or more applications, the application state based upon;
an animation rendering frame rate determined based upon an average frame rate at which the at least one application is rendering;
raw CPU usage associated with the at least one application; and
I/O activity associated with the at least one application;
determining a computer environment state of a computer running at least some of the one or more applications based upon;
a power supply setting of the computer indicative of a use of at least one of a battery or A/C power, the power supply setting indicative of whether the computer has additional computing power available for rendering animation frames at a rate greater than the animation rendering frame rate;
a hardware component state based upon whether one or more hardware based timers are available to facilitate animation frame rate rendering; and
a multimedia component state based upon whether one or more multimedia timers are available to facilitate animation frame rate rendering; and
adjusting an animation rendering update interval associated with the at least one application based upon the rendering system state, the application state and the computer environment state, the animation rendering update interval associated with a time period to wait before performing a rendering callback instruction to notify the at least one application to render an animation frame, the adjusting comprising;
when the rendering system is determined to be overstressed based upon a determination that the composite rate has fallen below a composite threshold, increasing the animation rendering update interval;
when the at least one application is determined to be overstressed based upon a determination that the animation rendering frame rate has fallen below a threshold, at least one of;
increasing the animation rendering update interval;
orinstructing the at least one application to reduce a current rendering load of the at least one application; and
increasing or decreasing the animation rendering update interval based upon the power supply setting, the hardware component state and the multimedia component state.
2 Assignments
0 Petitions
Accused Products
Abstract
Many computer applications incorporate and support animation (e.g., interactive user interfaces). Unfortunately, it may be challenging for computer applications and rendering systems to render animation frames at a smooth and consistent rate while conserving system resources. Accordingly, a technique for controlling animation rendering frame rate of an application is disclosed herein. An animation rendering update interval of an animation timer may be adjusted based upon a rendering system state (e.g., a rate of compositing visual layouts from animation frames) of a rendering system and/or an application state (e.g., a rate at which an application renders frames) of an application. Adjusting the animation rendering update interval allows the animation timer to adjust the frequency of performing rendering callback notifications (work requests to an application to render animation frames) to an application based upon rendering system performance and application performance.
11 Citations
20 Claims
-
1. A method for controlling an animation rendering frame rate of an application comprising:
-
determining a rendering system state of a rendering system, the rendering system state comprising a composite rate at which the rendering system composites rendered animation frames of one or more applications into a visual layout for display; determining an application state of at least one application of the one or more applications, the application state based upon; an animation rendering frame rate determined based upon an average frame rate at which the at least one application is rendering; raw CPU usage associated with the at least one application; and I/O activity associated with the at least one application; determining a computer environment state of a computer running at least some of the one or more applications based upon; a power supply setting of the computer indicative of a use of at least one of a battery or A/C power, the power supply setting indicative of whether the computer has additional computing power available for rendering animation frames at a rate greater than the animation rendering frame rate; a hardware component state based upon whether one or more hardware based timers are available to facilitate animation frame rate rendering; and a multimedia component state based upon whether one or more multimedia timers are available to facilitate animation frame rate rendering; and adjusting an animation rendering update interval associated with the at least one application based upon the rendering system state, the application state and the computer environment state, the animation rendering update interval associated with a time period to wait before performing a rendering callback instruction to notify the at least one application to render an animation frame, the adjusting comprising; when the rendering system is determined to be overstressed based upon a determination that the composite rate has fallen below a composite threshold, increasing the animation rendering update interval; when the at least one application is determined to be overstressed based upon a determination that the animation rendering frame rate has fallen below a threshold, at least one of; increasing the animation rendering update interval;
orinstructing the at least one application to reduce a current rendering load of the at least one application; and increasing or decreasing the animation rendering update interval based upon the power supply setting, the hardware component state and the multimedia component state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system, implemented at least in part via a processing unit, for controlling an animation rendering frame rate of an application, the system comprising:
an animation timer comprising; a monitoring component configured to determine; a rendering system state of a rendering system, the rendering system state comprising a composite rate at which the rendering system composites rendered animation frames of one or more applications into a visual layout for display; an application state of at least one application of the one or more applications, the application state based upon; an animation rendering frame rate determined based upon an average frame rate at which the at least one application is rendering; raw CPU usage associated with the at least one application; and I/O activity associated with the at least one application; and a computer environment state of a computer running at least some of the one or more applications, the computer environment state determined based upon; a power supply setting of the computer indicative of a use of at least one of a battery or A/C power, the power supply setting indicative of whether the computer has additional computing power available for rendering animation frames at a rate greater than the animation rendering frame rate; a hardware component state based upon whether one or more hardware based timers are available to facilitate animation frame rate rendering; and a multimedia component state based upon whether one or more multimedia timers are available to facilitate animation frame rate rendering; and a component configured to; adjust an animation rendering update interval associated with the at least one application based upon the rendering system state, the application state and the computer environment state, the animation rendering update interval associated with a time period to wait before performing a rendering callback instruction to notify the at least one application to render an animation frame. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
20. A computer readable storage device comprising instructions that when executed perform a method for controlling an animation rendering frame rate of an application, the method comprising:
-
determining a rendering system state of a rendering system, the rendering system state comprising a composite rate at which the rendering system composites rendered animation frames of one or more applications into a visual layout for display; determining an application state of at least one application of the one or more applications, the application state based upon at least one of; an animation rendering frame rate determined based upon an average frame rate at which the at least one application is rendering; raw CPU usage associated with the at least one application;
orI/O activity associated with the at least one application; determining a computer environment state of a computer running at least some of the one or more applications based upon at least one of; a power supply setting of the computer indicative of a use of at least one of a battery or A/C power, the power supply setting indicative of whether the computer has additional computing power available for rendering animation frames at a rate greater than the animation rendering frame rate; a hardware component state based upon whether one or more hardware based timers are available to facilitate animation frame rate rendering;
ora multimedia component state based upon whether one or more multimedia timers are available to facilitate animation frame rate rendering; and adjusting an animation rendering update interval associated with the at least one application based upon at least one of the rendering system state, the application state or the computer environment state, the animation rendering update interval associated with a time period to wait before performing a rendering callback instruction to notify the at least one application to render an animation frame, the adjusting comprising at least one of; when the rendering system is determined to be overstressed based upon a determination that the composite rate has fallen below a composite threshold, increasing the animation rendering update interval; when the at least one application is determined to be overstressed based upon a determination that the animation rendering frame rate has fallen below a threshold, at least one of; increasing the animation rendering update interval;
orinstructing the at least one application to reduce a current rendering load of the at least one application;
orincreasing or decreasing the animation rendering update interval based upon at least one of the power supply setting, the hardware component state or the multimedia component state.
-
Specification