At present the dimensions of a non-exclusive XRSession canvas are updated every frame. This is a waste of calls and should be made to only be called when the size of the canvas has changed.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7a32f749ecae1923fda1485aa423b8e46dafddcf commit 7a32f749ecae1923fda1485aa423b8e46dafddcf Author: Anna Offenwanger <offenwanger@chromium.org> Date: Thu Jul 12 17:13:22 2018 Modify XRSession so that session geometry is only sent when it changes Making it so that instead of receiving geometry every frame, ar_core only gets geometry (frame size and rotation) when it changes. This saves some processing every frame, and allows the GetFrameData interface to be made uniform for AR and VR. Bug: 856259 ,846521 Change-Id: I5828f57e1292f932c68148ac1e6b898f966b8d00 Reviewed-on: https://chromium-review.googlesource.com/1115776 Commit-Queue: Anna Offenwanger <offenwanger@chromium.org> Reviewed-by: Bill Orr <billorr@chromium.org> Reviewed-by: Klaus Weidner <klausw@chromium.org> Cr-Commit-Position: refs/heads/master@{#574611} [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/chrome/browser/android/vr/arcore_device/arcore_device.cc [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/chrome/browser/android/vr/arcore_device/arcore_device.h [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/chrome/browser/android/vr/arcore_device/arcore_gl.cc [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/chrome/browser/android/vr/arcore_device/arcore_gl.h [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/device/vr/vr_device_base.cc [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/device/vr/vr_device_base.h [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/device/vr/vr_display_impl.cc [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/device/vr/vr_display_impl.h [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/third_party/blink/renderer/modules/xr/xr_frame_provider.cc [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/third_party/blink/renderer/modules/xr/xr_frame_provider.h [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/third_party/blink/renderer/modules/xr/xr_session.cc [modify] https://crrev.com/7a32f749ecae1923fda1485aa423b8e46dafddcf/third_party/blink/renderer/modules/xr/xr_session.h
Comment 1 by btebbs@chromium.org
, Jul 11