New issue
Advanced search Search tips

Issue 680253 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature
Proj-VR
Proj-XR
Proj-XR-VR



Sign in to add a comment

VR: Optimize VR Shell UI element rendering calculations

Project Member Reported by cjgrant@chromium.org, Jan 11 2017

Issue description

As of now, we recompute the transformation of each element, according to all parents, on every frame.  The waste isn't visible because we don't have many elements, but we should address this.

Considerations:

1. Don't recompute parent transforms multiple times in the render loop.
2. Don't recompute transforms (other than pose-related) for elements that
haven't changed (animation or explicit update).

Proposed solution:

- Add links from parents to children (we currently only link children to parents).
- When an element changes (directly or via animation), set a "dirty" flag on the element, and any children.
- Before rendering, use the same recursion approach, but recurse only if an element is dirty.
 
Labels: -M-57
Labels: VR-UI
Given the nature of this work, I think it'd be ideal to do Z-order sorting at the same time.
Summary: VR: Optimize VR Shell UI element rendering calculations (was: Optimize VR Shell UI element rendering calculations)
The work referenced in #3 is issue 648955.
Labels: -OS-Android -OS-Windows OS-All
Labels: -VR-UI
Labels: -Restrict-View-Google -OS-All -Proj-VR VR-DF Proj-VR-Shell
Status: Fixed (was: Assigned)
The above CL ensures we don't duplicate calculations mulitple times for the same element, per frame.  It doesn't attempt to optimize across frames, and this might be good for now, as at least the per-frame overhead will be consistent.

Lets save further optimization for if/when the animation framework is amended or overhauled.

Sign in to add a comment