Inventors:
Nicholas P. Sagall - Seattle WA, US
Christopher J. Tector - Sammamish WA, US
Orest B. Zborowski - North Wales PA, US
Assignee:
MICROSOFT CORPORATION - Redmond WA
International Classification:
G06F 15/16
G06T 1/00
Abstract:
Techniques for GPU self throttling are described. In one or more embodiments, timing information for GPU frame processing is obtained using a timeline for the GPU. This may occur by inserting callbacks into the GPU processing timeline. An elapsed time for unpredictable work that is inserted into the GPU workload is determined based on the obtained timing information. A decision is then made regarding whether to “throttle” designated optional/non-critical portions of the work for a frame based on the amount of elapsed time. In one approach the elapsed time is compared to a configurable timing threshold. If the elapsed time exceeds the threshold, work is throttled by performing light or no processing for one or more optional portions of a frame. If the elapsed time is less than the threshold, heavy processing (e.g., “normal” work) is performed for the frame.