Closed Bug 1223869 Opened 9 years ago Closed 3 years ago

Microsoft Edge gets a +32.6% better score on Unity3D WebGL "Particles" benchmark.

Categories

(Core :: Graphics: CanvasWebGL, enhancement, P2)

42 Branch
x86
Windows
enhancement

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: jujjyl, Unassigned)

References

(Depends on 1 open bug)

Details

(Whiteboard: [gfx-noted])

+++ This bug was initially created as a clone of Bug #1223866 +++ STR: 1. Visit http://beta.unity3d.com/jonas/WebGLBenchmark/ 2. Run the Particles demo. Observed: Firefox 42 release gets a score of 120290. Edge 20.10240.16384.0 gets a score of 159510. Higher is better in this demo, so Edge gets a score 1.326x that of Firefox, or +32.6% better.
Blocks: 1223870
Geckoprofiler link: http://people.mozilla.org/~bgirard/cleopatra/#report=f26b31f751dbffa3d89727da928e908ef354d941&javascriptOnly=true&invertCallback=true&filter=%5B%7B%22type%22%3A%22RangeSampleFilter%22,%22start%22%3A2007421,%22end%22%3A2015334%7D%5D&selection=%22(total)%22,1865 The profile is very similar to that of the demo in bug 1223870, except that very notable in this case is that this demo exercises glBufferSubData heavily, whereas the Asteroid Field benchmark does not. Top JS side bottlenecks: - 35.5%: glDrawElements - 31.0%: glBufferSubData - 23.3% of total execution time (75.1% of glBufferSubData) is spent in native memmove() function - 24.9%: GenerateParticleGeometry - 17.6% of total execution time (70.7% of GenerateParticleGeometry) is spent in native sin()/cos() functions. - 2.4%: glBufferData
Dan/Ben, the time spent in sin()/cos() feels a big high here, I wonder if the URL in STR might expose any optimization opportunities?
Depends on: 1224688
Jukka: On sin/cos, do we know if Edge is using the system sin()/cos(), or if it has its own?
Dan: no idea, I'm afraid. Visual Studio -compiled sin/cos are quite fast though in the projects that I have compiled natively (e.g. compared to native Xcode-compiled sin/cos), but I don't know what they do for those.
Depends on: 1224742
Whiteboard: [gfx-noted]
Type: defect → enhancement
Priority: -- → P2

If I load the link http://beta.unity3d.com/jonas/WebGLBenchmark/ on the latest Nightly I get the following error: "An error occured running the Unity content on this page. See your browser's JavaScript console for more info. The error was: TypeError: WEBAudio.audioContext.listener.setVelocity is not a function."
Marking this as Resolved > Incomplete since the last activity on this issue was many years ago and it might not be relevant anymore. Feel free to re-open if the issue is still reproducible on your end in the latest FF versions.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.