Bug 75140 - [BYT-M] WebGL (Auqarium/ Dynamic Cubemap /Toon-Shading) performance on firefox hugely slower than chrome
Summary: [BYT-M] WebGL (Auqarium/ Dynamic Cubemap /Toon-Shading) performance on firefo...
Status: CLOSED NOTABUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: All Linux (All)
: high major
Assignee: Ian Romanick
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-18 07:30 UTC by zhoujian
Modified: 2014-02-21 10:11 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (21.16 KB, text/plain)
2014-02-18 07:34 UTC, zhoujian
Details

Description zhoujian 2014-02-18 07:30:12 UTC
Platform: BYT-M
Mesa:(10.1)git-62a3588
Xf86_video_intel:(master)2.99.910-3 git-5142d1c
Cairo:(master) git-4144307
Libva:(master)git-b4a4f9b
Libva_intel_driver:(master)git-54cb60f
Kernel: 3.13.2

Bug detailed description:
----------------------------------------------
WebGL (Auqarium/ Dynamic Cubemap/Toon-Shading) performance on firefox hugely slower than chrome on BYT-M,The problem doesn't exist on IVB/HSW.
It’s not regression,btw , last time testing in chrome browser, so can’t find this problem. Please see xorg.0.log.

WebGL performance
-------------------------------------------
          Auqarium    Dynamic Cubemap    Toon-Shading
Firefox   3fps           3fps                3fps
Chrome    43fps          37fps               45fps

Reproduce steps:
---------------------------------------------
1, xinit&
2, gnome-session
3, firefox localhost/aquarium.html
Comment 1 zhoujian 2014-02-18 07:34:19 UTC
Created attachment 94263 [details]
Xorg.0.log
Comment 2 zhoujian 2014-02-18 07:47:06 UTC
The problem also exist on upsteam.
system envirment:
---------------------
 Libdrm:(master)libdrm-2.4.52-3-g128e74cf6492025e63e035566bd6e2203e8da5e1
 Mesa:(master)6958fb341f6d74aa9712fa82feff2932c15862b3
 Xserver:(master)xorg-server-1.15.0-627-gf34dc7fa96457ea6a0703493d74e63cca357712e
 Xf86_video_intel:(master)2.99.910-40-geb7d2b19e2829b00317991fba05352e3ba1a1902
 Cairo:(master)4144307dbfbe7b297135d9ea4b080cae7e06b997
 Libva:(staging)1325ad0901a97ef7f88edb6cf61cf5f9ddbe2835
 Libva_intel_driver:(staging)bd630edd844b88ea543a027654db296ff7da16cd
 Kernel:drm-intel-nightly git-1be8f2
Comment 3 Eero Tamminen 2014-02-18 12:28:41 UTC
With 10x speed difference Firefox is doing something radically different from Chrome.

Is Firefox really utilizing Intel driver instead of doing SW rendering?  I.e. have you enabled HW rendering and made sure driver isn't on FF blacklist:
http://support.mozilla.org/en-US/kb/upgrade-graphics-drivers-use-hardware-acceleration#w_turning-off-hardware-acceleration

Have you enabled layers HW acceleration;
https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers#On_X11
?

Does "intel_gpu_top" show GPU to be used fully or not?
Comment 4 zhoujian 2014-02-20 09:59:00 UTC
(In reply to comment #3)

By check "about:config",
1."Use hardware acceleration where available" is enable.
2.layers HW:layers.acceleration.disabled (defult).

"intel_gpu_top" show render busy:9%-15% when run the case.

I can't find  FF blacklist in "about:config",could you please tell us how to setting?
Comment 5 Eero Tamminen 2014-02-20 14:27:48 UTC
(In reply to comment #4)
> (In reply to comment #3)
> 
> By check "about:config",
> 1."Use hardware acceleration where available" is enable.
> 2.layers HW:layers.acceleration.disabled (defult).

You could try:
  webgl.force-enabled=true
 layers.acceleration.force-enabled=true


> "intel_gpu_top" show render busy:9%-15% when run the case.

Pressing "1" in "top" lists CPU utilization for each core separately.  If FF limited by CPU utilization?

If that happens also with layers HW acceleration, I think this is FF issue, not Mesa one.  Firefox just isn't using GPU.  To verify that it's not a Mesa issue, you could do (as root):
  perf record -a
  ^C  (after half a minute)
  report report -n -s dso

To see what is using most CPU in the benchmark.

(Note: perf results are valid only if process is using all CPU as perf record is counting only active cycles, not idling (e.g. waiting for GPU), i.e. check first from "top" that use-case is really CPU bound.)
Comment 6 Eero Tamminen 2014-02-20 14:29:30 UTC
(In reply to comment #4)
> "intel_gpu_top" show render busy:9%-15% when run the case.

This also means that GPU isn't running at full speed, so FF is utilizing <10% of the GPU capasity.  As difference in performance is ~10x, that explains it.
Comment 7 zhoujian 2014-02-21 10:10:35 UTC
(In reply to comment #5)

> You could try:
>   webgl.force-enabled=true
>  layers.acceleration.force-enabled=true
After setting the parameters, the firfox performance is similar the same.

BYT, the "intel_gpu_top" show render busy:100%.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.