Virtual surface rendering
First Claim
Patent Images
1. A method implemented by a composition system of a computing device, the method comprising:
- initializing, by the composition system of the computing device, a virtual surface comprising a collection of one or more logical surfaces representative of individual surfaces as seen by an application without allocating bits for the one or more logical surfaces, the initialization occurring responsive to a request from the application running on the computing device to create the virtual surface, the virtual surface not displayed by the computing device, the request from the application to create the virtual surface comprising a size of the virtual surface to be used by the application for visuals as a composition element including a bitmap and associated compositional metadata;
allocating, by the composition system of the computing device, bits for the one or more logical surfaces of the virtual surface responsive to a request from the application to update the virtual surface;
rendering, by the composition system of the computing device, a portion of the virtual surface using a blending operation as part of the request from the application to update the virtual surface;
rendering, by the composition system of the computing device, another portion of the virtual surface using a bit block image transfer operation as part of the request from the application to update the virtual surface, at least a part of the rendering of the portion or the other portion occurring on a part of the virtual surface outside of a viewport of an interface associated with the application; and
compositing, by the composition system of the computing device, the virtual surface for display using the previously blended and bit block image transferred rendered portions from the update; and
displaying, by the composition system of the computing device, at least a part of the composited virtual surface.
2 Assignments
0 Petitions
Accused Products
Abstract
Virtual surface techniques are described. These techniques support the use of initialization and batching of updates, use of updates and lookaside lists, use of gutters, blending and BLT operations, use of surface optimization techniques such as push down as well as enumeration and clumping, mesh usage, and use of occlusion management techniques.
195 Citations
20 Claims
-
1. A method implemented by a composition system of a computing device, the method comprising:
-
initializing, by the composition system of the computing device, a virtual surface comprising a collection of one or more logical surfaces representative of individual surfaces as seen by an application without allocating bits for the one or more logical surfaces, the initialization occurring responsive to a request from the application running on the computing device to create the virtual surface, the virtual surface not displayed by the computing device, the request from the application to create the virtual surface comprising a size of the virtual surface to be used by the application for visuals as a composition element including a bitmap and associated compositional metadata; allocating, by the composition system of the computing device, bits for the one or more logical surfaces of the virtual surface responsive to a request from the application to update the virtual surface; rendering, by the composition system of the computing device, a portion of the virtual surface using a blending operation as part of the request from the application to update the virtual surface; rendering, by the composition system of the computing device, another portion of the virtual surface using a bit block image transfer operation as part of the request from the application to update the virtual surface, at least a part of the rendering of the portion or the other portion occurring on a part of the virtual surface outside of a viewport of an interface associated with the application; and compositing, by the composition system of the computing device, the virtual surface for display using the previously blended and bit block image transferred rendered portions from the update; and displaying, by the composition system of the computing device, at least a part of the composited virtual surface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A composition system configured to be implemented by a computing device, the composition system comprising:
-
a controller of the computing device that is responsive to one or more user inputs relating to a display by a display device; a composition engine of the computing device that is configured to transform one or more virtual surfaces based on user input to generate updates, the virtual surfaces comprising respective collections of one or more logical surfaces representative of individual surfaces as seen by an application and configured to be initialized responsive to a request from the application to create the one or more virtual surfaces without allocating bits for the respective collections of logical surfaces, the virtual surfaces not displayed by the computing device, the request comprising sizes of respective virtual surfaces for use by the application for visuals as a composition element including a bitmap and associated compositional metadata; a memory allocator that is configured to allocate bits for one or more of the respective one or more logical surfaces responsive to a request from the application to update the one or more virtual surfaces; and a renderer of the computing device configured to render the updates as visuals to the one or more virtual surfaces as part of the request to update the one or more virtual surfaces and communicate the rendered updates to the composition system along with a token that is usable by the composition engine to indicate that rasterization on the one or more virtual surfaces is complete, at least a part of the rendering of the updates occurring outside of a viewport of an interface associated with the application, the composition engine compositing the one or more previously rasterized virtual surfaces causing display of the updates on the display device. - View Dependent Claims (13, 14, 15, 16, 17)
-
- 18. One or more computer-readable storage media comprising instructions stored thereon that, responsive to execution by a computing device, causes the computing device to implement a composition system to perform operations comprising initializing a virtual composition surface comprising a collection of logical composition surfaces representative of individual surfaces as seen by the application responsive to a request from an application to create the virtual composition surface to render visuals thereto without allocating bits for the logical composition surfaces of the virtual composition surface, the request specifying a size of the virtual composition surface for the rendering of the visuals as a composition element including a bitmap and associated compositional metadata, allocating memory for the logical composition surfaces responsive to a request from the application to update the virtual composition surface, rendering a first portion of the virtual composition surface using a blending operation and a second portion of the virtual composition surface using a bit block image transfer operation as part of the request from the application to update the virtual composition surface, at least a part of the rendering occurring to a part of the virtual composition surface outside of a viewport of an interface associated with the application, and compositing the virtual composition surface for display by the composition system using the blended and bit block image transferred pre-rendered portions.
Specification