IP Library › Granted Patent US 10,510,317
Granted Patent B2
US 10,510,317 · App. 15/274,616 · Granted Dec 17, 2019

Controlling display performance with target presentation times

Inventors: Arthur L. Spence (San Jose, CA); Jeremy T. Sandmel (San Mateo, CA); David M. Chan (Palo Alto, CA); Chendi Zhang (Mountain View, CA); Peter C. Tsoi (San Jose, CA)
Assignee: Apple Inc.
G09G5/006G09G3/3618G09G5/12G09G5/363H04N7/01H04N7/0127G06F3/14G09G2320/0252G09G2330/021G09G2340/0435G09G2360/06G09G2360/12G09G2370/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,510,317
App. No.
15/274,616
Granted
Dec 17, 2019
Kind
B2
Abstract

Embodiments described herein provide for a display system to generate and display data on a display device, the display system comprising one or more graphics processors to generate one or more frames of data for display on the display device; display logic to receive a request to display the one or more frames of data, the request including a requested presentation time in which the one or more frames of data are to be displayed; and a display engine to present the one or more frames of data to the display device for display at a target presentation time, the target presentation time derived from the requested presentation time, wherein the display engine is to adjust a refresh rate of the display device based on the target presentation time of the one or more frames of data.

Claims (37)

1. A display system to generate and display data on a display device, the display system comprising:

one or more graphics processors to generate one or more frames of data for display on the display device;

display logic to receive a request to display the one or more frames of data, the request including a requested presentation time in which the one or more frames of data are to be displayed;

a display engine to present the one or more frames of data to the display device for display at a target presentation time, the target presentation time derived from the requested presentation time and represented by a timestamp in a timestamp queue,

a performance controller to adjust performance of the display device based on data about the one or more frames of data;

wherein the adjusted performance of the display device enables the display engine to adjust a refresh rate of the display device based on the target presentation time of the one or more frames of data, and wherein the display logic is to derive the target presentation time for the one or more frames of data based on an adjustment of the requested presentation time by a programming time for the display engine;

and wherein the timestamp queue includes complexity data about the one or more frames and the complexity data indicates a complexity of the one or more frames.

2. The display system as in claim 1 , wherein the display logic is to generate one or more display events for the display engine, the one or more display events associated with the one or more frames of data.

3. The display system as in claim 2 , wherein the one or more display events include the target presentation time of the one or more frames of data.

4. The display system as in claim 3 , the one or more display events including a first display event associated with a first frame and a second display event associated with a second frame.

5. The display system as in claim 4 , wherein the first display event includes a first target presentation time and the second display event includes a second target presentation time different from the first target presentation time.

6. The display system as in claim 5 , wherein the display engine is to refresh the display device at a first refresh rate in response to the first display event and a second refresh rate in response to the second display event.

7. The display system as in claim 6 , wherein the display engine is to process the first display event and to explicitly refresh the display device in response to the first display event.

8. The display system as in claim 7 , wherein the display engine is further to process the second display event and explicitly refresh the display device in response to the second display event.

9. The display system as in claim 8 , wherein the display engine is to not refresh the display device between the first display event and the second display event.

10. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations to generate and display data on a display device, the operations comprising:

receiving a request to display one or more frames of data on a display device, the one or more frames of data generated via the one or more processors, wherein the request includes a requested presentation time in which the one or more frames of data are to be displayed;

deriving a target presentation time based on the requested presentation time, the target presentation time derived based on a programming time for a display engine and represented by a timestamp in a timestamp queue,

programming the display engine to present the one or more frames of data to the display device for display;

adjusting, by a performance controller, performance of the display device based on data about the one or more frames of data, wherein the adjusted performance of the display device enables the display engine to adjust a refresh rate of the display device based on the target presentation time of the one or more frames of data;

the operations additionally comprising generating one or more display events associated with the one or more frames of data and programming the display engine based on the one or more display events;

and wherein the timestamp queue includes complexity data about the one or more frames and the complexity data indicates a complexity of the one or more frames.

11. The non-transitory machine-readable medium as in claim 10 , the operations additionally comprising processing a first display event at a first target presentation time before programming the display engine to present a first frame to the display device for display, the display engine to trigger a refresh of the display device explicitly to display the first frame and to subsequently refresh the display device at a first refresh rate.

12. The non-transitory machine-readable medium as in claim 11 , the operations additionally comprising processing a second display event at a second target presentation time before programming the display engine to present a second frame to the display device for display, the display engine to trigger a refresh of the display device explicitly to display the second frame and to subsequently refresh the display device at a second refresh rate that differs from the first refresh rate.

13. The non-transitory machine-readable medium as in claim 12 , wherein the first refresh rate is zero and the display device is not refreshed between the first frame and the second frame.

14. An electronic device comprising:

a variable refresh rate display device;

one or more graphics processors to generate one or more frames of data for display on the variable refresh rate display device;

display logic to receive a request to display the one or more frames of data, the request including a requested presentation time in which the one or more frames of data are to be displayed;

a display engine to present the one or more frames of data to the variable refresh rate display device for display at a target presentation time, the target presentation time derived from the requested presentation time and represented by a timestamp in a timestamp queue;

a performance controller to adjust performance of the display device based on data about the one or more frames of data;

wherein the adjusted performance of the display device enables the display engine to adjust a refresh rate of the variable refresh rate display device based on the target presentation time of the one or more frames of data;

wherein the display logic is to derive the target presentation time for the one or more frames of data based on an adjustment of the requested presentation time by a programming time for the display engine and to generate one or more display events for the display engine, wherein the one or more display events are associated with the one or more frames of data and include the target presentation time of the one or more frames of data;

and wherein the timestamp queue includes complexity data about the one or more frames and the complexity data indicates a complexity of the one or more frames.

15. The electronic device as in claim 14 , the one or more display events including a first display event associated with a first frame and a second display event associated with a second frame, the first display event including a first target presentation time and the second display event including a second target presentation time different from the first target presentation time.

16. The electronic device as in claim 15 , wherein the display engine is to refresh the variable refresh rate display device at a first refresh rate in response to the first display event and a second refresh rate in response to the second display event.

17. The electronic device as in claim 15 , the display engine to process the first display event, explicitly refresh the display device in response to the first display event, process the second display event, explicitly refresh the display device in response to the second display event, and not refresh the display device between the first display event and the second display event.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2016
From: SPENCE, ARTHUR L.; SANDMEL, JEREMY T.; CHAN, DAVID M.; ZHANG, CHENDI; TSOI, PETER C.
To: APPLE INC.
Reel/Frame 040528/0815 →
Continuity (5)
Provisional Application 62345539 · Jun 3, 2016
Provisional Application 62348622 · Jun 10, 2016
Provisional Application 62348626 · Jun 10, 2016
Provisional Application 62348631 · Jun 10, 2016
Related Publication 20170352322A1 · Dec 7, 2017
Cited By (4)
US 12,367,821 US 12,396,341 US 12,531,015 US 12,591,326