Display techniques using virtual surface allocation

US9286122B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9286122-B2
Application numberUS-201213485805-A
CountryUS
Kind codeB2
Filing dateMay 31, 2012
Priority dateMay 31, 2012
Publication dateMar 15, 2016
Grant dateMar 15, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Virtual surface techniques are described. These techniques include support of initialization and batching of updates, use of updates and lookaside lists, the use of gutters, the use of blending and BLT operations, surface optimization techniques such as push down as well as enumeration and clumping, mesh usage, and occlusion management techniques.

First claim

Opening claim text (preview).

What is claimed is: 1. A method implemented by a computing device, the method comprising: initializing, by a composition system part of an operating system, a virtual surface without allocation in physical memory of the computing device, the virtual surface usable by an application executed by the computing device to render visuals thereto as a composition element including a bitmap and associated compositional metadata for display in a user interface corresponding to the application, the virtual surface comprising a collection of one or more logical surfaces representative of individual surfaces as seen by the application and not displayed by the computing device; receiving a request by the composition system of the computing device to allocate a portion of the virtual surface in which to render the visuals, the request specifying a size of the portion of the virtual surface; responsive to the receiving of the request, allocating the portion of the virtual surface in the physical memory by the composition system for rendering the visuals thereto, the allocation of physical memory having a size that is greater than the size requested by the application to render the visuals; and using at least a portion of the surface from the allocated size of the virtual surface that is greater than the size requested by the application by the composition system of the computing device for reuse in response to a request to provide a virtual surface for an update instead of allocating a new virtual surface. 2. A method as described in claim 1 , wherein the request is received by the composition system from the application. 3. A method as described in claim 2 , wherein the request is received via one or more application programming interfaces of the composition system from the application. 4. A method as described in claim 1 , wherein the virtual surface is maintained by the composition system and includes functionality to create, update, and delete the virtual surface. 5. A method as described in claim 4 , wherein the virtual surface includes functionality to render the visuals before a request is received to display the visuals on a display device of the computing device. 6. A method as described in claim 4 , wherein the functionality to update the virtual surface comprises composing a plurality of updates by the composition system as a single batch. 7. A method as described in claim 1 , further comprising tracking valid regions for display within the portion of the virtual surface. 8. A computing device comprising one or more processors and one or more modules implemented at least partially in hardware and configured to implement a composition system, the composition system, when executed by the one or more processors, configured to perform operations comprising: initializing a virtual surface without allocation in physical memory of the computing device, the virtual surface usable by an application to render visuals thereto as a composition element including a bitmap and associated compositional metadata for display in a user interface corresponding to the application, the virtual surface comprising a collection of one or more logical surfaces representative of individual surfaces as seen by the application and not displayed by the computing device; responsive to receipt of a request to allocate a portion of the virtual surface in which to render the visuals that specifies a size of the portion of the virtual surface, allocating the portion of the virtual surface in the physical memory by the composition system for rendering the visuals thereto, the allocation of physical memory having a size that is greater than the size requested by the application to render the visuals; and using at least a portion of the surface from the allocated size of the virtual surface that is greater than the size requested by the application by the composition system of the computing device for reuse in response to a request to provide a virtual surface for an update instead of allocating a new virtual surface. 9. A computing device as described in claim 8 , wherein the request is received by the composition system from the application. 10. A computing device as described in claim 9 , wherein the request is received via one or more application programming interfaces of the composition system from the application. 11. A computing device as described in claim 8 , wherein the virtual surface is maintained by the composition system and includes functionality to create, update, and delete the virtual surface. 12. A computing device as described in claim 11 , wherein the virtual surface includes functionality to render the visuals before a request is received to display the visuals on a display device of the computing device. 13. A computing device as described in claim 8 , wherein the composition system is configured to update the virtual surface by composing a plurality of updates as a single batch. 14. A computing device as described in claim 8 , wherein the composition system is configured to track valid regions for display within the portion of the virtual surface. 15. A computing device as described in claim 8 , wherein the composition system is part of an operating system. 16. 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 one or more operations comprising: initializing a virtual surface without allocation in physical memory of the computing device, the virtual surface usable by an application to render visuals thereto as a composition element including a bitmap and associated compositional metadata for display in a user interface corresponding to the application, the virtual surface comprising a collection of one or more logical surfaces representative of individual surfaces as seen by the application and not displayed by the computing device; responsive to receipt of a request to allocate a portion of the virtual surface in which to render the visuals that specifies a size of the portion of the virtual surface, allocating the portion of the virtual surface in the physical memory by the composition system for rendering the visuals thereto, the allocation of physical memory having a size that is greater than the size requested by the application to render the visuals; and using at least a portion of the surface from the allocated size of the virtual surface that is greater than the size requested by the application by the composition system of the computing device for reuse in response to a request to provide a virtual surface for an update instead of allocating a new virtual surface. 17. One or more computer-readable storage media as described in claim 16 , wherein the request is received by the composition system from the application. 18. One or more computer-readable storage media as described in claim 17 , wherein the request is received via one or more application programming interfaces of the composition system from the application. 19. One or more computer-readable storage media as described in claim 16 , wherein the virtual surface is maintained by the composition system and includes functionality to create, update, and delete the virtual surface. 20. One or more computer-readable storage media as described in claim 19 , wherein the virtual surface includes functionality to render the visuals before a request is received to display the visuals on a display device of the computing device.

Assignees

Inventors

Classifications

  • G06F9/5016Primary

    the resource being the memory · CPC title

  • Execution arrangements for user interfaces · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9286122B2 cover?
Virtual surface techniques are described. These techniques include support of initialization and batching of updates, use of updates and lookaside lists, the use of gutters, the use of blending and BLT operations, surface optimization techniques such as push down as well as enumeration and clumping, mesh usage, and occlusion management techniques.
Who is the assignee on this patent?
Fink Reiner, Blanco Leonardo E, Ergan Cenk, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F9/5016. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 15 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).