Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(75)

Issue 2748293002: WebVR: process animations from posted task to yield for other events (Closed)

Created:
3 years, 9 months ago by klausw
Modified:
3 years, 9 months ago
Reviewers:
mthiesse, bajones, billorr
CC:
chromium-reviews, haraken, blink-reviews, feature-vr-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

WebVR: process animations from posted task to yield for other events If we call GetVSync inline from OnVSync, we can end up with the next VSync already being ready and scheduled when we exit, and then we'll process several frames in a row without ever yielding back to the main event loop, causing input processing delay. BUG=701444 Review-Url: https://codereview.chromium.org/2748293002 Cr-Commit-Position: refs/heads/master@{#457189} Committed: https://chromium.googlesource.com/chromium/src/+/ff386cfefd3fe0f9cef72ff28f7c7f09d972608d

Patch Set 1 #

Total comments: 4

Patch Set 2 : New implementation, use deferred serviceScriptedAnimations #

Total comments: 6

Patch Set 3 : Rephrase comment. #

Patch Set 4 : Throw shade at WaitForIncomingMethodCall in comment. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+24 lines, -6 lines) Patch
M chrome/browser/android/vr_shell/vr_shell_gl.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/vr/VRDisplay.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/vr/VRDisplay.cpp View 1 2 3 2 chunks +21 lines, -4 lines 2 comments Download

Messages

Total messages: 27 (10 generated)
mthiesse
https://codereview.chromium.org/2748293002/diff/1/third_party/WebKit/Source/modules/vr/VRDisplay.cpp File third_party/WebKit/Source/modules/vr/VRDisplay.cpp (right): https://codereview.chromium.org/2748293002/diff/1/third_party/WebKit/Source/modules/vr/VRDisplay.cpp#newcode176 third_party/WebKit/Source/modules/vr/VRDisplay.cpp:176: Platform::current()->currentThread()->getWebTaskRunner()->postTask( Two comments: 1. This shouldn't be necessary, this ...
3 years, 9 months ago (2017-03-15 15:17:35 UTC) #3
klausw
https://codereview.chromium.org/2748293002/diff/1/third_party/WebKit/Source/modules/vr/VRDisplay.cpp File third_party/WebKit/Source/modules/vr/VRDisplay.cpp (right): https://codereview.chromium.org/2748293002/diff/1/third_party/WebKit/Source/modules/vr/VRDisplay.cpp#newcode176 third_party/WebKit/Source/modules/vr/VRDisplay.cpp:176: Platform::current()->currentThread()->getWebTaskRunner()->postTask( On 2017/03/15 15:17:35, mthiesse wrote: > Two comments: ...
3 years, 9 months ago (2017-03-15 15:42:40 UTC) #4
klausw
https://codereview.chromium.org/2748293002/diff/1/third_party/WebKit/Source/modules/vr/VRDisplay.cpp File third_party/WebKit/Source/modules/vr/VRDisplay.cpp (right): https://codereview.chromium.org/2748293002/diff/1/third_party/WebKit/Source/modules/vr/VRDisplay.cpp#newcode176 third_party/WebKit/Source/modules/vr/VRDisplay.cpp:176: Platform::current()->currentThread()->getWebTaskRunner()->postTask( On 2017/03/15 15:42:39, klausw wrote: > On 2017/03/15 ...
3 years, 9 months ago (2017-03-15 15:50:59 UTC) #5
klausw
PTAL - the timing looks great now when combined with your crrev.com/2754493002 at ps3. https://codereview.chromium.org/2748293002/diff/1/third_party/WebKit/Source/modules/vr/VRDisplay.cpp ...
3 years, 9 months ago (2017-03-15 17:39:25 UTC) #6
mthiesse
lgtm with updated comment https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp File third_party/WebKit/Source/modules/vr/VRDisplay.cpp (right): https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp#newcode726 third_party/WebKit/Source/modules/vr/VRDisplay.cpp:726: // execution context finishes. If ...
3 years, 9 months ago (2017-03-15 17:43:51 UTC) #7
mthiesse
I should note that in the longer term, we should really try to remove our ...
3 years, 9 months ago (2017-03-15 17:44:37 UTC) #8
klausw
https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp File third_party/WebKit/Source/modules/vr/VRDisplay.cpp (right): https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp#newcode726 third_party/WebKit/Source/modules/vr/VRDisplay.cpp:726: // execution context finishes. If we call GetVSync inline ...
3 years, 9 months ago (2017-03-15 17:55:40 UTC) #10
klausw
On 2017/03/15 17:44:37, mthiesse wrote: > I should note that in the longer term, we ...
3 years, 9 months ago (2017-03-15 18:03:22 UTC) #11
mthiesse
https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp File third_party/WebKit/Source/modules/vr/VRDisplay.cpp (right): https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp#newcode726 third_party/WebKit/Source/modules/vr/VRDisplay.cpp:726: // execution context finishes. If we call GetVSync inline ...
3 years, 9 months ago (2017-03-15 18:05:04 UTC) #12
klausw
https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp File third_party/WebKit/Source/modules/vr/VRDisplay.cpp (right): https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp#newcode726 third_party/WebKit/Source/modules/vr/VRDisplay.cpp:726: // execution context finishes. If we call GetVSync inline ...
3 years, 9 months ago (2017-03-15 18:14:26 UTC) #13
mthiesse
https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp File third_party/WebKit/Source/modules/vr/VRDisplay.cpp (right): https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp#newcode726 third_party/WebKit/Source/modules/vr/VRDisplay.cpp:726: // execution context finishes. If we call GetVSync inline ...
3 years, 9 months ago (2017-03-15 18:19:01 UTC) #16
klausw
https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp File third_party/WebKit/Source/modules/vr/VRDisplay.cpp (right): https://codereview.chromium.org/2748293002/diff/20001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp#newcode726 third_party/WebKit/Source/modules/vr/VRDisplay.cpp:726: // execution context finishes. If we call GetVSync inline ...
3 years, 9 months ago (2017-03-15 18:21:01 UTC) #17
billorr
minor comment/question, but lgtm https://codereview.chromium.org/2748293002/diff/60001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp File third_party/WebKit/Source/modules/vr/VRDisplay.cpp (right): https://codereview.chromium.org/2748293002/diff/60001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp#newcode733 third_party/WebKit/Source/modules/vr/VRDisplay.cpp:733: Platform::current()->currentThread()->getWebTaskRunner()->postTask( Does this measurably have ...
3 years, 9 months ago (2017-03-15 18:35:45 UTC) #19
bajones
LGTM with Bill's question answered.
3 years, 9 months ago (2017-03-15 18:50:14 UTC) #20
klausw
https://codereview.chromium.org/2748293002/diff/60001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp File third_party/WebKit/Source/modules/vr/VRDisplay.cpp (right): https://codereview.chromium.org/2748293002/diff/60001/third_party/WebKit/Source/modules/vr/VRDisplay.cpp#newcode733 third_party/WebKit/Source/modules/vr/VRDisplay.cpp:733: Platform::current()->currentThread()->getWebTaskRunner()->postTask( On 2017/03/15 18:35:45, billorr wrote: > Does this ...
3 years, 9 months ago (2017-03-15 19:00:17 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2748293002/60001
3 years, 9 months ago (2017-03-15 19:02:42 UTC) #24
commit-bot: I haz the power
3 years, 9 months ago (2017-03-15 20:30:31 UTC) #27
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://chromium.googlesource.com/chromium/src/+/ff386cfefd3fe0f9cef72ff28f7c...

Powered by Google App Engine
This is Rietveld 408576698