update world space transforms is slow |
||||
Issue descriptionThis 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.
,
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
,
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
,
Apr 13 2018
Closing. Can reopen for specific further optimizations.
,
May 10 2018
,
Jul 4
|
||||
►
Sign in to add a comment |
||||
Comment 1 by vollick@chromium.org
, Apr 4 2018Status: Assigned (was: Available)