IP Library Granted Patent US 7,999,830
Granted Patent B1
US 7,999,830 · App. 11/733,024 · Granted Aug 16, 2011

Rendering changed portions of composited images

Assignee: Dell Products L.P.
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 7,999,830
App. No.
11/733,024
Filed
Apr 9, 2007
Granted
Aug 16, 2011
Kind
B1
Art Unit
2628
USPC
345/441
Abstract

Rendering graphics on a display of a device. In a portable or wireless device, a list of instructions needed to refresh or generate a frame is first created. The created instructions are then parsed or optimized to remove instructions that result in unnecessary processing instructions. The optimized list is then executed. During generation of a given frame, a view hierarchy is traversed to identify damaged portions of a display. The damaged portions are not copied to the frame. Also, information that has not changed is likewise not usually copied. Damage from the previous frame less damage from the current frame is copied to the appropriate buffer. The instructions are optimized to render only the portion of the frame that is necessary. Portions of the display that are not visible are not traversed in the view hierarchy and are not considered until visible on the display.

Claims (58)

1. In a device that includes a display, a method for rendering graphics displayed on the display of the device, the method comprising:

painting a first frame stored in a first buffer on a display of a device, wherein the first frame includes a first area that was generated for inclusion in the first frame;

determining at least a visible portion and a non-visible portion in the first frame;

for the visible portion, identifying at least one damaged area in the first frame by traversing a view hierarchy comprising nodes representing the display of the first frame;

copying a second area of the first frame to a second frame stored in a second buffer, wherein the second area does not include the at least one damaged area;

repairing the at least one damaged areas in the second frame using an optimized command list of instructions, wherein repairing comprises discarding the at least one damaged area if the at least one damaged areas in the first frame is above a threshold number of frames old; and

displaying the second frame on the display of the device.

2. The method of claim 1 , wherein identifying a damaged area in the first frame further comprises:

animating the display; and

marking one or more nodes of a view hierarchy as damaged, wherein nodes of the view hierarchy represent the display and the one or more nodes correspond to one or more damaged areas included in the first area.

3. The method of claim 2 , wherein identifying a damaged area further comprises traversing the view hierarchy to collect damaged nodes, wherein damage is recorded in at least one of parent nodes or children nodes.

4. The method of claim 3 , wherein traversing the view hierarchy to collect damaged nodes further comprises traversing a visible portion of the view hierarchy to collect damaged nodes.

5. The method of claim 4 , wherein a non-visible portion of the view hierarchy is marked as non-visible.

6. The method of claim 4 , further comprising drawing the non-visible portion when the non-visible portion becomes visible on the display.

7. The method of claim 4 , wherein repairing the damaged area in the second frame further comprising creating a list of instructions to draw the damaged area.

8. The method of claim 7 , further comprising optimizing the list of instructions to generate a minimal list of instructions by removing or altering instructions that are affected by later instructions in the list of instructions.

9. The method of claim 7 , wherein the second area copied from the first frame to the second frame further comprises the first area less the damaged area.

10. The method of claim 1 , further comprising:

animating the display;

identifying one or more undamaged areas of one or more previous frames;

copying the one or more undamaged areas of the one or more previous frames to a current frame to minimize a damaged area of the current frame; and

repairing the damaged area of the current frame.

11. A computer readable medium having computer executable instructions for performing the method of claim 1 .

12. A portable electronic device comprising:

a display able to present images to a user;

a user interface through which the user provides input; and

a graphic engine that renders images painted on the display of the device, the graphic engine including;

a plurality of buffers that are used in round robin fashion to generate successive frames painted in the display; and

an image module that manages the plurality of buffers, wherein successive frames in the plurality of buffers are generated by repairing only portions of the image that are damaged from one frame to another frame;

wherein the image module identifies the portions of the image that are damaged by traversing at least a visible section of a view hierarchy, wherein the view hierarchy corresponds to images included in or potentially included in the display,

wherein the image module discards damage collected in the view hierarchy when the collected damage is above a threshold number of frames old.

13. The device of claim 12 , wherein the image module repairs portions of the image that are damaged by creating a list of instructions, optimizing the list of instructions by removing or altering instructions that are obviated by later instructions, and executing the optimized list of instructions.

14. The device of claim 13 , wherein the image module does not copy damaged portions from a previous buffer to a subsequent buffer when generating a frame in the subsequent buffer, wherein the list of instructions is generated to draw the damaged portions.

15. In a device that includes a display, a method for rendering graphics displayed on the display of the device, the method comprising:

painting a first frame stored in a first buffer on a display of a device, wherein the first frame includes a first area that was generated for inclusion in the first frame;

identifying a damaged area in the first frame;

copying a second area of the first frame to a second frame stored in a second buffer, wherein the second area does not include the damaged area;

repairing the damaged area in the second frame; and

displaying the second frame on the display of the device,

wherein identifying a damaged area in the first frame further comprises:

animating the display; and

marking one or more nodes of a view hierarchy as damaged, wherein nodes of the view hierarchy represent the display and the one or more nodes correspond to one or more damaged areas included in the first area,

wherein identifying a damaged area further comprises traversing the view hierarchy to collect damaged nodes, wherein damage is recorded in at least one of parent nodes or children nodes,

wherein traversing the view hierarchy to collect damaged nodes further comprises traversing a visible portion of the view hierarchy to collect damaged nodes,

wherein a non-visible portion of the view hierarchy is marked as non-visible, and

wherein the repairing the damaged area comprises using an optimized command list of instructions, wherein repairing further comprises discarding damaged area if the damaged area is above a threshold number of frames old.

16. In a device that includes a display, a method for rendering graphics displayed on the display of the device, the method comprising:

painting a first frame stored in a first buffer on a display of a device, wherein the first frame includes a first area that was generated for inclusion in the first frame;

identifying a damaged area in the first frame;

copying a second area of the first frame to a second frame stored in a second buffer, wherein the second area does not include the damaged area;

repairing the damaged area in the second frame; and

displaying the second frame on the display of the device,

wherein identifying a damaged area in the first frame further comprises:

animating the display; and

marking one or more nodes of a view hierarchy as damaged, wherein nodes of the view hierarchy represent the display and the one or more nodes correspond to one or more damaged areas included in the first area,

wherein identifying a damaged area further comprises traversing the view hierarchy to collect damaged nodes, wherein damage is recorded in at least one of parent nodes or children nodes,

wherein traversing the view hierarchy to collect damaged nodes further comprises traversing a visible portion of the view hierarchy to collect damaged nodes,

drawing a non-visible portion when the non-visible portion becomes visible on the display and wherein the repairing the damaged area comprises using an optimized command list of instructions, wherein repairing further comprises discarding the damaged area if the damaged area in the first frame is above a threshold number of frames old.

Assignments (16)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
MERGER Recorded Jan 11, 2008
From: ZING SYSTEMS, INC.
To: DELL PRODUCTS L.P.
Reel/Frame 020353/0262 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2007
From: VAN HOFF, ARTHUR ANTHONIE; CHATTERTON, GEOFFREY W.
To: ZING SYSTEMS, INC.
Reel/Frame 019136/0775 →
Continuity (1)
Provisional Application 60790391 · Apr 7, 2006