New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 828684 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug
Proj-VR
Proj-XR



Sign in to add a comment

update world space transforms is slow

Project Member Reported by vollick@chromium.org, Apr 4 2018

Issue description

This takes more than .8 ms on a pixel. Since not much is changing frame-to-frame, it should definitely be possible to trim this down.
 
Owner: vollick@chromium.org
Status: Assigned (was: Available)
Taking a stab at this.
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a002a08722250deb98372c39eb3684f15df8a682

commit a002a08722250deb98372c39eb3684f15df8a682
Author: Ian Vollick <vollick@chromium.org>
Date: Wed Apr 04 15:45:15 2018

[vr] Avoid some unnecessary work in UpdateWorldSpaceTransforms

Previously, we would do the local update unconditionally. With this
change, we keep track of a dirty bit for the world space transform as
well as a baked version of the local transform so we don't need to
call cc::TransformOperations::Apply repeatedly to realize the same
results.

Some elements have special conditions for the dirtiness of their local
transform, so I have also created a ShouldUpdateWorldSpaceTransform
function so that subclasses can customize this behavior. The reticle,
for example, is always dirty.

Bug:  828684 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_vr;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I5b581a72d7caa39d47dcdc686d212879b3da3093
Reviewed-on: https://chromium-review.googlesource.com/995573
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Commit-Queue: Ian Vollick <vollick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548075}
[modify] https://crrev.com/a002a08722250deb98372c39eb3684f15df8a682/chrome/browser/vr/elements/controller.h
[modify] https://crrev.com/a002a08722250deb98372c39eb3684f15df8a682/chrome/browser/vr/elements/repositioner.cc
[modify] https://crrev.com/a002a08722250deb98372c39eb3684f15df8a682/chrome/browser/vr/elements/resizer.cc
[modify] https://crrev.com/a002a08722250deb98372c39eb3684f15df8a682/chrome/browser/vr/elements/reticle.cc
[modify] https://crrev.com/a002a08722250deb98372c39eb3684f15df8a682/chrome/browser/vr/elements/reticle.h
[modify] https://crrev.com/a002a08722250deb98372c39eb3684f15df8a682/chrome/browser/vr/elements/scaled_depth_adjuster.cc
[modify] https://crrev.com/a002a08722250deb98372c39eb3684f15df8a682/chrome/browser/vr/elements/ui_element.cc
[modify] https://crrev.com/a002a08722250deb98372c39eb3684f15df8a682/chrome/browser/vr/elements/ui_element.h
[modify] https://crrev.com/a002a08722250deb98372c39eb3684f15df8a682/chrome/browser/vr/elements/ui_element_unittest.cc
[modify] https://crrev.com/a002a08722250deb98372c39eb3684f15df8a682/chrome/browser/vr/ui_scene.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0c10c3c2b5261d746fc4455fe0ffe134cdfb38b6

commit 0c10c3c2b5261d746fc4455fe0ffe134cdfb38b6
Author: Ian Vollick <vollick@chromium.org>
Date: Mon Apr 09 15:47:09 2018

[vr] Prune UI tree walks

This CL cuts unnecessary work from our tree walks where we can.

Bug:  828684 , 828688 , 828687 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_vr;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I3706deec5adeae6b4c4d186d45187854e79a840f
Reviewed-on: https://chromium-review.googlesource.com/1000430
Reviewed-by: Christopher Grant <cjgrant@chromium.org>
Commit-Queue: Ian Vollick <vollick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549185}
[modify] https://crrev.com/0c10c3c2b5261d746fc4455fe0ffe134cdfb38b6/chrome/browser/vr/elements/content_element_unittest.cc
[modify] https://crrev.com/0c10c3c2b5261d746fc4455fe0ffe134cdfb38b6/chrome/browser/vr/elements/linear_layout.cc
[modify] https://crrev.com/0c10c3c2b5261d746fc4455fe0ffe134cdfb38b6/chrome/browser/vr/elements/ui_element.cc
[modify] https://crrev.com/0c10c3c2b5261d746fc4455fe0ffe134cdfb38b6/chrome/browser/vr/elements/ui_element.h
[modify] https://crrev.com/0c10c3c2b5261d746fc4455fe0ffe134cdfb38b6/chrome/browser/vr/elements/ui_element_unittest.cc
[modify] https://crrev.com/0c10c3c2b5261d746fc4455fe0ffe134cdfb38b6/chrome/browser/vr/ui_scene.cc
[modify] https://crrev.com/0c10c3c2b5261d746fc4455fe0ffe134cdfb38b6/chrome/browser/vr/ui_scene_creator.cc
[modify] https://crrev.com/0c10c3c2b5261d746fc4455fe0ffe134cdfb38b6/chrome/browser/vr/ui_unittest.cc

Status: Fixed (was: Assigned)
Closing. Can reopen for specific further optimizations.
Labels: M-67 Test-Complete
Components: Internals>XR

Sign in to add a comment