Patent ID: 7903116

Claim:
A method of operating a graphics system having a sequence of at least two discrete performance levels where each performance level is defined by a core clock rate of a graphics processing unit and a memory clock rate, the performance levels including a high performance level for processing complex three-dimensional graphical images and at least one lower power, lower performance level for processing less complex graphical images, the method comprising: monitoring a single graphics pipeline in a graphics processor core clock domain, the single graphics pipeline having a set of stages in which graphics data is processed in a pipelined sequence through each subsequent stage in the graphics pipeline and detecting as a function of time a percentage of clock cycles for which a downstream stage of the graphics pipeline is held up waiting for data inputs from an upstream stage of the graphics pipeline as an indicator of utilization and determining whether the graphics pipeline is under-utilized or over-utilized, wherein the downstream stage and the upstream stage of the graphics pipeline both operate in accordance with a clock rate in the graphics processor core clock domain; in response to detecting a level of utilization greater than a non-zero, over-utilization threshold percentage level for which a display rate of the graphics system is likely to be significantly decreased below a normal display rate, selecting a higher performance level to increase the clock rate in the graphics processor core clock domain; in response to detecting a level of utilization below a non-zero, under-utilization threshold percentage level, selecting a lower performance level to reduce the clock rate in the graphics processor core clock domain to reduce power required by the graphics system; and operating the graphics system at the core clock rate and memory clock rate associated with the selected performance level, the selected performance level being a minimum performance level sufficient to maintain the display rate within the normal range.