Method for Generating Display Frame and Terminal Device
US-2016247484-A1 · Aug 25, 2016 · US
US9811388B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9811388-B2 |
| Application number | US-201615072248-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 16, 2016 |
| Priority date | May 14, 2015 |
| Publication date | Nov 7, 2017 |
| Grant date | Nov 7, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems, methods, and apparatus are herein described for reducing stuttering or skipped frames in media rendering by switching between two sampling windows of a CPU frequency governor. In particular, a sampling window for the governor can switch between a first mode and a second mode, where the first mode involves a default sampling window having a period greater than 1/f, is out of phase with or not aligned with VSync pulses, and is clocked to an internal clock of the CPU frequency governor. The second mode involves an adjusted sampling window having a period equal to 1/f, and is in phase with or aligned with VSync pulses. Further, f, can be the refresh rate of a display device. VSync pulses can be provided to the CPU frequency governor, which can use these pulses to clock the sampling window when a CPU workload becomes or is expected to become sporadic.
Opening claim text (preview).
What is claimed is: 1. A graphics processing system comprising: a graphics processing circuit; display hardware operating at a refresh rate f, the display hardware including: a pulse generation circuit configured to generate pulses; and a CPU circuit comprising a CPU frequency governor in electrical communication with the pulse generation circuit, the CPU frequency governor comprising: a clock circuit; a pulse input in electrical communication with the pulse generation circuit; and a sampling window selection submodule configured to select a sampling window for the CPU frequency governor, the sampling window based on a signal from either the clock circuit or the pulse input, the sampling window based on the signal from the pulse input when a workload of the CPU is sporadic. 2. The system of claim 1 , further comprising a mode selection submodule in communication with the sampling window selection submodule, the selection submodule to allow either the signal from the clock circuit or the pulse input to reach the sampling window selection submodule. 3. The system of claim 2 , wherein the mode selection submodule allows the signal from the pulse input to reach the sampling window selection submodule after a system application programming interface (API) call is received from an application running on the CPU circuit. 4. The system of claim 3 , wherein the mode selection submodule maintains selection of the signal from the pulse input for a period of time before allowing the signal from the clock circuit to reach the sampling window selection submodule. 5. The system of claim 3 , wherein the mode selection submodule maintains selection of the signal from the pulse input for a variable period of time before allowing the signal from the clock circuit to reach the sampling window selection submodule. 6. The system of claim 5 , wherein the variable period of time is a function of a type, quality, or quantity of one or more touch events driven by a touchscreen device having the CPU circuit. 7. A method for reducing stuttering or skipped frames, the method comprising: receiving VSync pulses at a CPU frequency governor, the VSync pulses generated by display hardware in communication with the CPU frequency governor; processing an animation frame in a CPU to generate a first set of rendering commands; processing the first set of rendering commands in a GPU to generate a first set of rendered frames; displaying the first set of rendered frames on a display device via the display hardware; sampling a CPU workload according to a sampling window and adjusting a frequency of the CPU according to the CPU workload ascertained via the sampling; determining that CPU workload has become sporadic, and: decreasing a period of the sampling window from a period of an internal clock of the CPU frequency governor to a period of the VSync pulses, where the period of the VSync pulses is 1/f, and where f is a refresh rate of the display device; and adjusting a start time of the sampling window to coincide with the VSync pulses. 8. The method of claim 7 , wherein f is 60 Hz. 9. The method of claim 7 , further comprising increasing the period of the sampling window to the period of the internal clock of the CPU frequency governor, where the period of the internal clock is greater than 1/f, and performing the increasing after a set period of time from when the CPU workload is deemed sporadic. 10. The method of claim 9 , wherein determining that the CPU workload has become sporadic is a function of one or more touch events input to the CPU by a touchscreen device having the CPU. 11. The method of claim 7 , wherein each instance of the processing the animation frame is coincident with one of the VSync pulses and each instance of the displaying the first set of frames is coincident with the VSync pulses. 12. The method of claim 7 , wherein the decreasing a period of the sampling window is triggered by a system API call from an application running on the CPU after the application determines that one or more touch events on the touchscreen device call for an animation to be rendered. 13. A non-transitory, tangible computer readable storage medium, encoded with processor readable instructions to perform a method for reducing stuttering or skipped frames in rendering, the method comprising: receiving VSync pulses at a pulse input of a CPU frequency governor of a CPU, the VSync pulses received from display hardware; periodically sampling a CPU workload of the CPU according to a first mode of a sampling window, wherein the sampling window is synchronized with a clock signal from a clock generator of the CPU frequency governor; monitoring the CPU workload for a change to a sporadic workload; switching to a second mode of the sampling window when the CPU frequency governor determines that the CPU workload has become sporadic; and periodically sampling the CPU workload according to the second mode, wherein the sampling window is synchronized with the VSync pulses from the pulse input of the CPU frequency governor. 14. The non-transitory, tangible computer readable storage medium of claim 13 , further comprising maintaining the second mode of the sampling window for a fixed period of time. 15. The non-transitory, tangible computer readable storage medium of claim 13 , further comprising triggering the switching with a system API call, from an application running on the CPU, to the CPU frequency governor. 16. The non-transitory, tangible computer readable storage medium of claim 13 , wherein a default sampling window of the CPU frequency governor is greater than 1/f, where f is a refresh rate of a display device and where the VSync pulses have a frequency equal to f Hz. 17. A system for reducing stuttering or skipped frames in rendering, the system comprising: means for receiving VSync pulses at a pulse input of a CPU frequency governor of a CPU, the VSync pulses received from display hardware; means for periodically sampling a CPU workload of the CPU according to a first mode of a sampling window, wherein the sampling window is synchronized with a clock signal from a clock generator of the CPU frequency governor; means for monitoring the CPU workload for a change to a sporadic workload; means for switching to a second mode of the sampling window when the CPU frequency governor determines that the CPU workload has become sporadic; and means for periodically sampling the CPU workload according to the second mode, wherein the sampling window is synchronized with the VSync pulses from the pulse input of the CPU frequency governor. 18. The system of claim 17 , further comprising a means for maintaining the second mode of the sampling window for a fixed period of time. 19. The system of claim 17 , further comprising triggering the switching with a system API call, from an application running on the CPU, to the CPU frequency governor.
by lowering clock frequency · CPC title
involving image processing hardware · CPC title
Techniques for rebalancing the load in a distributed system · CPC title
Interprogram communication · CPC title
Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.