Speculative render ahead and caching in multiple passes
First Claim
Patent Images
1. A method comprising:
- rendering content within a current viewport;
receiving a directional manipulation of the viewport;
responsive to receiving the directional manipulation of the viewport, starting a time-constrained rendering loop;
pre-rendering and caching content for the manipulation that lies in a virtual surface outside of the viewport, in the direction of the manipulation, wherein the content that lies in the virtual surface outside of the viewport is pre-rendered as long as time remains in the rendering loop and responsive to ascertaining that no invalidated content remains in the viewport;
maintaining cached;
at least some previously-rendered pre-rendered content, the at least some previously-rendered pre-rendered content having been identified based on one or more rendering policies that control which of the previously-rendered pre-rendered content is to remain cached; and
the content that is pre-rendered for the manipulation; and
rendering content, that includes at least some of the cached content, within a new current viewport.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments are directed to intelligently rendering or pre-rendering content that may likely be brought into an associated viewport during a user'"'"'s interaction with the content. In at least some embodiments, the process of caching pre-rendered content is separated from a determination of which regions outside of the viewport are to be kept up to date over use and time. Further, at least some embodiments perform rendering activities in multiple passes in an effort to reduce potential delays in the user visible content reaching completion, without interfering with other work that an associated application or system performs during rendering.
-
Citations
20 Claims
-
1. A method comprising:
-
rendering content within a current viewport; receiving a directional manipulation of the viewport; responsive to receiving the directional manipulation of the viewport, starting a time-constrained rendering loop; pre-rendering and caching content for the manipulation that lies in a virtual surface outside of the viewport, in the direction of the manipulation, wherein the content that lies in the virtual surface outside of the viewport is pre-rendered as long as time remains in the rendering loop and responsive to ascertaining that no invalidated content remains in the viewport; maintaining cached; at least some previously-rendered pre-rendered content, the at least some previously-rendered pre-rendered content having been identified based on one or more rendering policies that control which of the previously-rendered pre-rendered content is to remain cached; and the content that is pre-rendered for the manipulation; and rendering content, that includes at least some of the cached content, within a new current viewport. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A device comprising:
one or more modules implemented at least partially in hardware, the one or more modules configured to perform operations comprising; receiving a user manipulation of content that has been rendered in a viewport, at least some of the rendered content corresponding to one or more non-rendering actions that are performed by an associated application; responsive to receiving the user manipulation of content, starting a time-constrained rendering loop; rendering content within the viewport that has become invalidated during the rendering loop, including discarding at least some invalidated content to render placeholder content in place of the invalidated content; suspending, during the rendering loop, performance of the one or more non-rendering actions that are performed by the associated application; ascertaining whether time remains in the rendering loop; yielding to the associated application if no time remains in the rendering loop, the yielding enabling the associated application to perform the one or more non-rendering actions; and performing rendering if time remains in the rendering loop, including ascertaining whether invalidated content remains in the viewport and, if not, pre-rendering content within a virtual surface that lies outside of the viewport. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
Specification