Methods and apparatuses for providing a hardware accelerated web engine
First Claim
1. A method for hardware accelerating a web browser on a computer system, the method comprising:
- analyzing a data stream having a plurality of fragments, the data stream being processed by the web browser;
determining what fragments of the data stream should be rendered for storage into separate backing stores;
rendering the fragments into raster images intended for hardware acceleration; and
causing the storage of the raster images in the backing stores located in a graphics processing unit, wherein the web browser provides information identifying the raster images to the graphics processing unit.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatuses for providing hardware acceleration of a web browser are disclosed. In one embodiment, a method of operating a web browser on a computer system includes analyzing a data stream having a plurality of fragments. The method further includes determining what fragments of the data stream should be rendered for storage into separate backing stores. The method further includes rendering the fragments into raster images intended for hardware acceleration. The method further includes storing the raster images in the backing stores located in a graphics processing unit.
100 Citations
68 Claims
-
1. A method for hardware accelerating a web browser on a computer system, the method comprising:
-
analyzing a data stream having a plurality of fragments, the data stream being processed by the web browser; determining what fragments of the data stream should be rendered for storage into separate backing stores; rendering the fragments into raster images intended for hardware acceleration; and causing the storage of the raster images in the backing stores located in a graphics processing unit, wherein the web browser provides information identifying the raster images to the graphics processing unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A machine-readable medium having executable instructions to cause a machine to perform a method comprising:
-
analyzing a data stream having a plurality of fragments, the data stream being processed by the web browser; determining what fragments of the data stream should be rendered for storage into separate backing stores; rendering the fragments into raster images intended for hardware acceleration; and causing the storage of the raster images in the backing stores located in a graphics processing unit, wherein the web browser provides information identifying the raster images to the graphics processing unit.
-
-
12. A method of hardware accelerating a web browser on a computer system, the method comprising:
-
constructing a data structure having a plurality of nodes associated with elements of a web page; monitoring a state for each node of the data structure; and determining whether a change of a state of a node requires rendering the node into a raster image, which represents a decomposed portion of a complete image. - View Dependent Claims (13)
-
-
14. A machine-readable medium having executable instructions to cause a machine to perform a method comprising:
-
constructing a data structure having a plurality of nodes associated with elements of a web page; monitoring a state for each node of the data structure; and determining whether a change of a state of a node requires rendering the node into a raster image, which represents a decomposed portion of a complete image. - View Dependent Claims (15)
-
-
16. A method for hardware accelerating a web browser on a computer system, the method comprising:
-
constructing a first data structure by grouping elements of a web page into a first plurality of nodes; determining what elements should be rendered for storage into separate backing stores; constructing a second data structure separate from the first data structure, the second data structure comprises a second plurality of nodes each representing an independent layer associated with a raster image intended for hardware acceleration; rendering all nodes of the first data structure to create raster images, which each represent a decomposed portion of a complete image, stored in the backing stores located in a graphics processing unit (GPU); and compositing the raster images stored in the backing stores to construct a first final image displayed as a web page in order to hardware accelerate the operation of the web browser. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A machine-readable medium having executable instructions to cause a machine to perform a method comprising:
-
constructing a first data structure by grouping elements of a web page into a first plurality of nodes; determining what elements should be rendered for storage into separate backing stores; constructing a second data structure separate from the first data structure, the second data structure comprises a second plurality of nodes each representing an independent layer associated with a raster image intended for hardware acceleration; rendering all nodes of the first data structure to create raster images, which each represent a decomposed portion of a complete image, stored in the backing stores located in a graphics processing unit (GPU); and compositing the raster images stored in the backing stores to construct a first final image displayed as a web page in order to hardware accelerate the operation of the web browser. - View Dependent Claims (29, 30)
-
-
31. A data processing system, comprising:
-
a first microprocessor coupled to a bus; main memory coupled to the bus with the main memory configured to store a first data structure representing a render tree having nodes for grouping elements of a web page; and a graphics processing unit coupled to the bus, the graphics processing unit having a second microprocessor and a plurality of backing stores with each backing store configured to store raster images, which represent a decomposed portion of a complete image, associated with nodes of the render tree. - View Dependent Claims (32, 33)
-
-
34. A method of operating a software application on a computer system, the method comprising:
-
analyzing a data stream having a plurality of fragments, the data stream being encoded in a markup language; determining what fragments of the data stream should be rendered for storage into separate backing stores; rendering the fragments into raster images, which each represent a decomposed portion of a complete image; and causing the storage of the raster images in the backing stores located in a graphics processing unit, wherein the software application provides information identifying the raster images to the graphics processing unit. - View Dependent Claims (35, 36, 37)
-
-
38. A machine-readable medium having executable instructions to cause a machine to perform a method comprising:
-
analyzing a data stream having a plurality of fragments, the data stream being encoded in a markup language; determining what fragments of the data stream should be rendered for storage into separate backing stores; rendering the fragments into raster images, which each represent a decomposed portion of a complete image; and causing the storage of the raster images in the backing stores located in a graphics processing unit, wherein the web browser provides information identifying the raster images to the graphics processing unit.
-
-
39. A method of operating a graphics processing unit on a computer system, the method comprising:
-
receiving raster images, which each represent a decomposed portion of a complete image, associated with a data stream having a plurality of fragments, the data stream being encoded in a markup language; storing each raster image in a separate backing store located in the graphics processing unit; and compositing the raster images into a complete image in order to hardware accelerate the operation of a web browser. - View Dependent Claims (40, 41, 42, 43, 44, 45)
-
-
46. A machine-readable medium having executable instructions to cause a machine to perform a method comprising:
-
receiving raster images, which each represent a decomposed portion of a complete image, associated with a data stream having a plurality of fragments, the data stream being encoded in a markup language; storing each raster image in a separate backing store located in the graphics processing unit; and compositing the raster images into a final display image in order to hardware accelerate the operation of a web browser.
-
-
47. A method of expressing animation in a data stream, the method comprising:
defining animation states in the data stream with each state having at least one property such that properties are animated as a group. - View Dependent Claims (48)
-
49. A method of expressing animation in a data stream, the method comprising:
declaring how a change in state should be processed via an animation rule. - View Dependent Claims (50, 51, 52, 53, 54)
-
55. A method of expressing animation in a data stream, the method comprising:
-
defining animation states in the data stream with each state having at least one property such that properties are animated as a group; and declaring how a change in state should be processed via an animation rule. - View Dependent Claims (56, 57, 58, 59, 60, 61)
-
-
62. A machine-readable medium having executable instructions to cause a machine to perform a method comprising:
-
defining animation states in the data stream with each state having at least one property such that properties are animated as a group; and declaring how a change in state should be processed via an animation rule.
-
-
63. In an environment with a web browser application and a graphics processing unit for hardware accelerating the operation of the web browser application, an application programming interface (API), comprising:
-
transferring a first call with redraw instructions from a subclass of a first data structure having a plurality of render nodes to a second data structure having a plurality of layer nodes; and transferring a second call with render instructions from the second data structure to the subclass of the first data structure. - View Dependent Claims (64, 65, 66)
-
-
67. A web browser comprising:
a set of instructions to determine data for graphics acceleration on a graphics processing unit. - View Dependent Claims (68)
Specification