IP Library › Granted Patent US 8,767,126
Granted Patent B2
US 8,767,126 · App. 14/024,609 · Granted Jul 1, 2014

Coordinating distributed graphics rendering in a multi-window display

Inventors: Jeff Brown (Mountain View, CA); Mathias Agopian (Mountain View, CA)
Assignee: Google Inc.
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 8,767,126
App. No.
14/024,609
Granted
Jul 1, 2014
Kind
B2
Abstract

Multi-window display operations may be optimized in an electronic device. The electronic device comprises a screen that may be operable to provide a multi-window display by enabling configuring of a plurality of display regions, where video content corresponding to one or more of the plurality of applications is displayed in each of the plurality of display regions. Optimizing multi-window display operations may comprise monitoring updates of video content for each of the plurality of display regions of the screen, and generating a frame comprising video content for all of the plurality of display regions when one or both of the following occurs: all pending video content updates are completed and a frame generation deadline is reached.

Claims (41)

1. A method in an electronic device, the method comprising:

providing for display in each of multiple regions of a display, graphical data corresponding to one or more of a plurality of applications of the electronic device, wherein graphical data corresponding to each particular region of the multiple regions is provided by an application of the plurality of applications that is associated with the particular region;

determining a number of applications of the plurality of applications that are authorized to perform display updates;

determining a number of completed display updates; and

generating a frame comprising display data for all of the multiple regions of the display when one or both of the following occurs:

the number of applications that are authorized to perform display updates is equal to the number of completed display updates, and

a frame generation deadline is reached.

2. The method of claim 1 , wherein determining the number of applications that are authorized to perform display updates comprises determining a number of requests to register for display updates received from the plurality of applications.

3. The method of claim 2 , wherein the requests to register for display updates comprise requests to receive synchronization pulses that are triggered at the beginning of a display frame.

4. The method of claim 1 , further comprising sending a display update authorization message to the applications that are authorized to perform display updates.

5. The method of claim 4 , wherein determining the number of applications that are authorized to perform display updates comprises determining a number of display update authorization messages sent to the plurality of applications.

6. The method of claim 1 , wherein determining the number of completed display updates comprises determining a number of completion notifications received from the applications that are authorized to perform display updates.

7. The method of claim 1 , wherein the graphical data comprises one or more of: input data read from a memory; input data sent to the electronic device; user interaction data; control related information; or data generated by one of the plurality of applications.

8. The method of claim 1 , wherein at least one of the multiple regions of the display comprises a background region utilized to display content in a part of the display that is covered or occupied by other regions of the multiple regions of the display.

9. The method of claim 1 , wherein at least one of the multiple regions of the display comprises a user control region utilized to display one or more user interface elements.

10. The method of claim 1 , wherein the applications that are authorized to perform display updates comprise applications that are authorized to perform display updates for a given display frame event.

11. An electronic device, comprising:

at least one processor;

a computer-readable medium, configured to store instructions, that when executed by the processor, cause the electronic device to perform functions comprising:

providing for display in each of multiple regions of a display, graphical data corresponding to one or more of a plurality of applications of the electronic device, wherein graphical data corresponding to each particular region of the multiple regions is provided by an application of the plurality of applications that is associated with the particular region,

determining a number of applications of the plurality of applications that are authorized to perform display updates,

determining a number of completed display updates, and

generating a frame comprising display data for all of the multiple regions of the display when one or both of the following occurs:

the number of applications that are authorized to perform display updates is equal to the number of completed display updates; and

a frame generation deadline is reached.

12. The electronic device of claim 11 , wherein determining the number of applications that are authorized to perform display updates comprises determining a number of requests to register for display updates received from the plurality of applications.

13. The electronic device of claim 11 , wherein the functions further comprise sending a display update authorization message to the applications that are authorized to perform display updates.

14. The electronic device of claim 11 , wherein determining the number of completed display updates comprises determining a number of completion notifications received from the applications that are authorized to perform display updates.

15. A video processing subsystem in an electronic device, the video processing subsystem comprising:

a video processor that is operable to process graphical data for display in multiple regions of a display of the electronic device, wherein the graphical data corresponds to one or more of a plurality of applications of the electronic device, and wherein graphical data corresponding to each particular region of the multiple regions is provided to the video processor by an application of the plurality of applications that is associated with the particular region; and

a video compositor that is operable to:

determine a number of applications of the plurality of applications that are authorized to perform display updates,

determine a number of completed display updates, and

generate a frame comprising display data for all of the multiple regions of the display when one or both of the following occurs:

the number of applications that are authorized to perform display updates is equal to the number of completed display updates; and

a frame generation deadline is reached.

16. The video processing subsystem of claim 15 , further comprising a video buffering module that is operable to buffer graphical data corresponding to at least one region of the multiple regions of the display.

17. The video processing subsystem of claim 15 , wherein determining the number of applications that are authorized to perform display updates comprises determining a number of requests to register for display updates received from the plurality of applications.

18. The video processing subsystem of claim 15 , wherein determining the number of completed display updates comprises determining a number of the applications that are authorized to perform display updates that have sent graphical data to the video processor.

19. The video processing subsystem of claim 15 , wherein determining the number of completed display updates comprises determining a number of completion notifications received from the applications that are authorized to perform display updates.

20. The video processing subsystem of claim 15 , wherein the graphical data comprises one or more of: input data read from a memory; input data sent to the electronic device; user interaction data; control related information; or data generated by one of the plurality of applications.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044277/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2013
From: BROWN, JEFF; AGOPIAN, MATHIAS
To: GOOGLE INC.
Reel/Frame 031187/0732 →
Continuity (2)
Continuation 13532752 · Jun 25, 2012
Related Publication 20140016035A1 · Jan 16, 2014