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

Issue 843039 link

Starred by 7 users

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 3
Type: Bug

Blocking:
issue 426530



Sign in to add a comment

Disable the blacklisting of MSAA on newer Intel GPUs

Project Member Reported by martina....@intel.com, May 15 2018

Issue description

Hardware 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.

 
Labels: OS-Mac OS-Windows
The blacklist seems to be applied on all operating systems, though the original bug was reported only for Macs. The performance problem might therefore be present only on Macs, but it will take some testing.

Comment 2 by kbr@chromium.org, May 16 2018

Cc: yunchao...@intel.com yang...@intel.com
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.

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.

Comment 4 by yang...@intel.com, 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. 
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.
Status: Assigned (was: Untriaged)
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 
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)?
Cc: ericrk@chromium.org
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.

Comment 10 Deleted

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