Disable the blacklisting of MSAA on newer Intel GPUs |
||||
Issue descriptionHardware acceleration for non-WebGL rasterization is currently disabled on Intel GPUs due to poor performance of MSAA - see issue 527565 . Newer GPUs should have a better performance (as some people commented on issue 527565 ) and therefore should be removed from this blacklist. I'll try to provide some benchmarks later, but I currently don't have the hardware.
,
May 16 2018
Yang, Yunchao: is it the case that newer Intel GPUs have sufficiently fast MSAA that Chrome should use it? It was my understanding that Intel wanted to use for example CMAA for WebGL even on newer GPUs. See https://chromium-review.googlesource.com/1061457 for more context.
,
May 16 2018
Note that we no longer veto-to-CPU-rasterization for complex path content (as we used to). So not having MSAA support should not block other content on the page from being GPU-accelerated, as it did in the past. The pages listed on issue 527565 should no longer be affected by lack of MSAA support.
,
May 17 2018
As far as I know, recent Intel GPUs have no obvious improvement on MSAA performance. On the contrary, my team is working on a proposal to use CMAA on all Intel platforms, including GPUs and OSes. Anyway, it's better to have strong data support so that we can revisit current decision.
,
May 17 2018
I guess MSAA on IA would be slow until HD GEN12 (1 or 2 years later?) IA GPU is direct rendering, while other vendors use tiled rendering, which has small sram cache on tile. MSAA on tiled rendering GPU is cheap because each tile can do sampling on the cache. However direct rendering requires read and store to gpu memory. Note: there is benefit of direct rendering. Binding another FBO is way faster.
,
May 18 2018
,
May 23 2018
I've had our QE team run the `smoothness.tough_path_rendering_cases` test and frame times turned out shorter when the GPU acceleration for rasterization was turned on. The tests were done on Skylake GPUs, which were launched in 2015. Please tell me if there are some other benchmarks we should run.
Test command (without --enable-gpu-rasterization in the first test run):
./tools/perf/run_benchmark --browser=dev --extra-browser-args="--enable-gpu-rasterization" smoothness.tough_path_rendering_cases --use-live-site
Windows OS 10.0.17134, [Sky Lake]Intel core i7-6700K CPU 4.00GHz, GPU Intel HD Graphics 530, Chrome Canary 68.0.3436.0
name no HW acceleration HW acceleration
------------------------------------- --------------------- ------------------
benchmark_total_duration 104,484.000 ms 101,818.000 ms
first_gesture_scroll_update_latency (empty) (empty)
frame_time_discrepancy 543.310 ms 477.189 ms
frame_times 23.121 ms 22.201 ms
mean_frame_time 24.581 ms 24.529 ms
mean_pixels_approximated 0.0% 0.0%
mean_pixels_checkerboarded 0.0% 0.0%
percentage_smooth 33.126 35.112
queueing_durations 0.507 ms 0.265 ms
Mac OS 12.13.4, [Sky Lake]Intel core m5-6Y54 CPU 1.10GHz, GPU Intel HD Graphics 515, Chrome Canary 68.0.3436.0
name no HW acceleration HW acceleration
------------------------------------- --------------------- ------------------
benchmark_total_duration 118,625.327 ms 122,225.319 ms
first_gesture_scroll_update_latency (empty) (empty)
frame_time_discrepancy 3,405.392 ms 1,209.602 ms
frame_times 44.699 ms 39.635 ms
mean_frame_time 1,694.101 ms 450.760 ms
mean_pixels_approximated 0.0% 0.0%
mean_pixels_checkerboarded 0.0% 0.0%
percentage_smooth 14.421 22.046
queueing_durations 0.491 ms 0.585 ms
Ubuntu 17.10, [Sky Lake]Intel core i7-6700K CPU 4.00GHz, GPU Intel HD Graphics 530, Chrome Dev 68.0.3432.3
name no HW acceleration HW acceleration
---------------------------- --------------------- ------------------
frame_time_discrepancy 815.629 ms 353.463 ms
frame_times 25.778 ms 24.320 ms
mean_frame_time 28.532 ms 26.650 ms
mean_pixels_approximated 0.000% 0.000%
mean_pixels_checkerboarded 0.000% 0.000%
percentage_smooth 19.396 23.463
queueing_durations 0.237 ms 0.284 ms
,
May 25 2018
So, can I remove this item from the blacklist completely? Or perhaps keep it for GPUs older than Skylake (though I don't see why)?
,
May 25 2018
Enabling GPU rasterization should not be affecting MSAA -- those are orthogonal flags. I would be surprised if this is overriding the Intel MSAA blacklist. However, I can't explain the discrepancy in performance here. Perhaps Telemetry is defaulting to GPU raster disabled, and you're seeing the difference between GPU raster on/off? You should be able to tell by adding --show-fps-counter to --extra-browser-args and check the little FPS window in the top right. This will also tell you the state of MSAA. Just to reiterate: we no longer veto GPU rasterization on complex path content if MSAA is unavailable. We continue to use GPU raster, just without MSAA.
,
Jun 8 2018
I've confused things a little. I thought that the msaa_is_slow flag is disabling GPU acceleration for rasterization. Now I noticed that removing msaa_is_slow from the blacklist doesn't actually enable GPU raster. Yes, the tests are showing the difference between GPU rasterization on/off. The tested browser defaults to disabled GPU raster, the second test was done with --enable-gpu-rasterization. Nothing else was changed between tests. They are probably meaningless in the context of MSAA. The MSAA blacklist for Intel GPUs could still probably be removed, but I'll need to run another test. For my main issue, I've created https://bugs.chromium.org/p/chromium/issues/detail?id=850930. |
||||
►
Sign in to add a comment |
||||
Comment 1 by martina....@intel.com
, May 15 2018