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

Issue 650344 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Canvas2DLayerBridgeTest.*Hibernation* are slow

Project Member Reported by thakis@chromium.org, Sep 26 2016

Issue description

I was running webkit_unit_tests locally recently.

[4035/4053] Canvas2DLayerBridgeTest.HibernationLifeCycle (311 ms)
[4036/4053] Canvas2DLayerBridgeTest.HibernationReEntry (602 ms)
[4037/4053] Canvas2DLayerBridgeTest.HibernationLifeCycleWithDeferredRenderingDisabled (302 ms)
[4038/4053] Canvas2DLayerBridgeTest.TeardownWhileHibernating (302 ms)
[4039/4053] Canvas2DLayerBridgeTest.SnapshotWhileHibernating (303 ms)
[4040/4053] Canvas2DLayerBridgeTest.TeardownWhileHibernationIsPending (601 ms)
[4041/4053] Canvas2DLayerBridgeTest.HibernationAbortedDueToPendingTeardown (601 ms)
[4042/4053] Canvas2DLayerBridgeTest.HibernationAbortedDueToVisibilityChange (602 ms)
[4043/4053] Canvas2DLayerBridgeTest.HibernationAbortedDueToLostContext (301 ms)


Almost all of these > 4000 tests take a millisecond to run (exception:  bug 650340 ). These 10 hibernation tests combined take about 4s, which would be 40% of the runtime of webkit_unit_tests if it weren't for  bug 650340 . Please make these tests instant instead. If that's tricky to do, disable them until they're fast.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 28 2016

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

commit 9358c2bb26d2e91cf648d560f705038f10a4994a
Author: junov <junov@chromium.org>
Date: Wed Sep 28 18:26:57 2016

Improve speed of 2D canvas hibernation unit tests

The canvas hibernation mechanism uses idle task scheduling, which
is desirable in the real world to prevent it from causing jank,
but introduces unnecessary delays in unit tests. This change
modifies Canvas2DLayerBridge to allow unit tests to request
undelayed scheduling in order to execute tests faster about 100x
faster than before.

BUG= 650344 

Review-Url: https://codereview.chromium.org/2368333003
Cr-Commit-Position: refs/heads/master@{#421579}

[modify] https://crrev.com/9358c2bb26d2e91cf648d560f705038f10a4994a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/9358c2bb26d2e91cf648d560f705038f10a4994a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.h
[modify] https://crrev.com/9358c2bb26d2e91cf648d560f705038f10a4994a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp

Comment 2 by junov@chromium.org, Sep 28 2016

Status: Fixed (was: Assigned)
With the above change, all 7 tests in Canvas2DLayerBridgeTest takes 10ms totally. Marking this as fixed.

Sign in to add a comment