IP Library Granted Patent US 8,976,187
Granted Patent B2
US 8,976,187 · App. 12/731,763 · Granted Mar 10, 2015

System for accelerating composite graphics rendering

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,976,187
App. No.
12/731,763
Granted
Mar 10, 2015
Kind
B2
Abstract

A system aids composited graphics rendering. A script and corresponding virtual machine engine code may be stored in memory. An off-screen buffer is generated in the memory by the script. The off-screen buffer includes an extended stage having first a buffer portion. The buffer portion may include pre-rendered graphical object. An on-screen buffer may include a composition of the pre-rendered graphical objects of the extended stage. The script renders a graphical change to the on-screen buffer using independent block copying, from the extended stage to corresponding target areas in the on-screen buffer, of one or more of the pre-rendered graphics of the extended stage area affected by the graphical changes.

Claims (48)

1. A system comprising:

one or more processors;

memory accessible by the one or more processors;

a display screen;

a script application comprising processor-independent instructions stored in the memory;

virtual machine engine code stored in the memory and executed by the one or more processors, where the virtual machine engine code is adapted to execute the script application and provide an interface between the script application and the one or more processors;

where the script application is executed to generate an off-screen buffer in the memory, the off-screen buffer comprising an extended stage including a first buffer portion and a second buffer portion that includes one or more pre-rendered graphical objects;

an on-screen buffer in the memory, where the on-screen buffer includes a composition of the pre-rendered graphical objects of the extended stage, and where content of the on-screen buffer is displayed on the display screen, where the pre-rendered graphical objects are objects displayed on the screen that are affected by graphical changes, and wherein the on-screen buffer includes a plurality of target areas; and

where the script application is executed to render a graphical change to a first target area among the plurality of target areas of the on-screen buffer using independent block copying of one or more of the pre-rendered graphical objects of the extended stage affected by the graphical change from the extended stage to the first target area of the on-screen buffer.

2. The system of claim 1 , where the processor maps the pre-rendered graphical objects to display screen locations in the on-screen buffer.

3. The system of claim 2 , where the pre-rendered graphical objects are mapped by region.

4. The system of claim 3 , where the pre-rendered graphical objects in the region replace whatever graphical content was previously at that display screen location.

5. The system of claim 1 , where the graphical change to the on-screen buffer is rendered by the processor when the script application receives a triggering event.

6. The system of claim 5 , where the triggering event comprises a user input.

7. The system of claim 1 , where the script application tracks an extent of any graphical objects affected by script processing.

8. The system of claim 1 , where the script application copies one or more of the pre-rendered graphical objects to a window.

9. The system of claim 8 , where the window is positioned over other visible graphic objects displayed on the display screen.

10. The system of claim 1 , where the script application copies only determined portions of the one or more pre-rendered graphical objects.

11. The system of claim 10 , where the determined portions of the one or more pre-rendered graphical objects are identified as being affected by graphical transitions.

12. A system comprising:

one or more processors;

memory accessible by the one or more processors;

a display screen;

a script application comprising processor-independent instructions stored in the memory;

virtual machine engine code stored in the memory, the virtual machine engine code executed by the one or more processors to execute the script application and provide an interface between the script application and the one or more processors;

where the script application is executed to generate a stage in an off-screen buffer in the memory, the stage being extended compared to an on-screen buffer that is used to present images on the display screen, the stage including at least a first stage area having a background object and a second stage area;

where the second stage area including a plurality of graphical objects and being logically adjacent the first stage area, the graphical objects of the stage only being rendered to the stage; and

where the script application copies only portions of objects affected by one or more object transitions from the stage area directly to corresponding target areas of the on-screen buffer, where transitions of an object occur when the object is repositioned on the display screen or is otherwise affected by a change in position of one or more other objects on the display screen.

13. The system of claim 12 , where the processor maps the graphical objects to display screen locations in the on-screen buffer.

14. The system of claim 13 , where the graphical objects are mapped by region.

15. The system of claim 14 , where the graphical objects in the region replace whatever graphical content was previously at that display screen location.

16. The system of claim 12 , where the object is repositioned on the display screen or is otherwise affected by a change in position upon a user input.

17. The system of claim 12 , where the script application tracks an extent of any graphical objects affected by script processing.

18. A method comprising:

generating with a processor an off-screen buffer, the off-screen buffer being stored in a memory accessible by the processor, the off-screen buffer comprising an extended stage including a first buffer portion and a second buffer portion including one or more pre-rendered graphical objects;

generating an on-screen buffer including a plurality of target areas, the on-screen buffer being stored in the memory, where the on-screen buffer includes a composition of the pre-rendered graphical objects of the extended stage, where the pre-rendered graphical objects are objects displayed on the screen that are affected by graphical changes;

executing a script application comprising processor-independent instructions to render a graphical change to a first target area among the plurality of target areas of the on-screen buffer using independent block copying one or more of the pre-rendered graphical objects of the extended stage affected by the graphical change from the extended stage to the first target area of the on-screen buffer, wherein the script application is executed using a virtual machine engine code stored in the memory to provide an interface between the script application and the processor; and

displaying the on-screen buffer on a display screen.

19. The method of claim 18 , further comprising mapping the pre-rendered graphical objects to display screen locations in the on-screen buffer.

20. The method of claim 19 , where the pre-rendered graphical objects are mapped by region.

21. The method of claim 20 , where the pre-rendered graphical objects in the region replace whatever graphical content was previously at that display screen location.

22. The method of claim 18 , further comprising rendering the graphical change to the on-screen buffer when the script application receives a triggering event.

23. The method of claim 22 , where the triggering event comprises a user input.

24. The method of claim 18 , further comprising tracking an extent of any graphical objects affected by the script execution.

25. The method of claim 18 , where the script application copies one or more of the pre-rendered graphical objects to a window.

26. The method of claim 25 , where the window is positioned over other visible graphic objects displayed on the display screen.

27. The method of claim 18 , where the script application copies only determined portions of the one or more pre-rendered graphical objects.

28. The method of claim 27 , where the determined portions of the one or more pre-rendered graphical objects are identified as being affected by graphical transitions.

Assignments (9)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2020
From: 2236008 ONTARIO INC.
To: BLACKBERRY LIMITED
Reel/Frame 053313/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: QNX SOFTWARE SYSTEMS LIMITED
To: 8758271 CANADA INC.
Reel/Frame 032607/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: 8758271 CANADA INC.
To: 2236008 ONTARIO INC.
Reel/Frame 032607/0674 →
CHANGE OF ADDRESS Recorded Feb 27, 2012
From: QNX SOFTWARE SYSTEMS LIMITED
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 027768/0961 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2011
From: 7801769 CANADA INC.
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 026883/0553 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2011
From: QNX SOFTWARE SYSTEMS GMBH & CO. KG
To: 7801769 CANADA INC.
Reel/Frame 026883/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2010
From: STREATCH, PAUL; MACLEAN, ROGER; DODGE, DAN
To: QNX SOFTWARE SYSTEMS GMBH & CO. KG
Reel/Frame 024139/0736 →