New issue
Advanced search Search tips

Issue 862069 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 17
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug-Regression

Blocked on:
issue 856712
issue 857112

Blocking:
issue 865655



Sign in to add a comment

Patch "Defer GLES2Implementation's error callbacks if need" cause regression

Project Member Reported by shaobo....@intel.com, Jul 10

Issue description

In current Deferred Error Callback implementation(https://chromium-review.googlesource.com/c/chromium/src/+/1117360), CallDeferredErrorCallbacks will be invoked in every GPU_CLIENT_SINGLE_THREAD_CHECK().

And current implementation of CallDeferredErrorCallbacks will do extra deque created and swap operation even there is no errors. This impact performance.

This could be fixed by adding a flag and skip CallDeferredErrorCallbacks if there are no errors.
 
Description: Show this description
Labels: -Pri-1 Pri-3
Labels: -Hotlist-Partner-GSuite
Blockedon: 857112
Components: -Blink Blink>WebGL Internals>GPU>Internals
Thanks for finding this. Linking to the related bug.

To supply performance data for this regression :
Test case is aquarium with 20000 fishes running on i7-8700K platform with UHD630.

The fps drops from 33 fps to 27 fps.
Blockedon: 856712
Status: Assigned (was: Unconfirmed)
Note that there is unfortunately a gap in Chromium's Windows benchmark scores around the date that https://chromium-review.googlesource.com/1117360 landed, because of  Issue 856712 .

However, the aquarium_20k benchmark (WebGL Aquarium with 20,000 fish) was being measured continuously on Linux at this time, and there was no sudden regression.

https://chromeperf.appspot.com/report?sid=5f7f716cd4fe6ca78a442791b4f44cde4668f14a5d5cc987633bc38b734ca905

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 17

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

commit 5c73a1ae6198d997a909387d8ab55b6a6e5c18a0
Author: Yan,Shaobo <shaobo.yan@intel.com>
Date: Tue Jul 17 02:43:21 2018

Skip CallDeferredErrorCallbacks if no deferred error

In current Deferred Error Callback implementation, CallDeferredErrorCallbacks
will be invoked in every GPU_CLIENT_SINGLE_THREAD_CHECK().

Current implementation of CallDeferredErrorCallbacks will do extra deque created
and swap operation even there is no errors. This impact performance.

This patch fixed this by adding a flag and skip CallDeferredErrorCallbacks if there are no errors.

Bug:  862069 
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;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ie64aca137ac20bd7a19895a9dafed2a1744348ae
Reviewed-on: https://chromium-review.googlesource.com/1131010
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
Cr-Commit-Position: refs/heads/master@{#575527}
[modify] https://crrev.com/5c73a1ae6198d997a909387d8ab55b6a6e5c18a0/gpu/command_buffer/client/gles2_implementation.cc

Status: Fixed (was: Assigned)
Thanks for the patch.

Blocking: 865655

Sign in to add a comment