Open
Bug 1020340
Opened 11 years ago
Updated 3 years ago
Poor canvas performance on OpenLayers3
Categories
(Core :: Graphics: Canvas2D, defect)
Tracking
()
NEW
People
(Reporter: elogrono, Unassigned)
Details
(Whiteboard: [bugday-20140609])
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 (Beta/Release)
Build ID: 20140506152807
Steps to reproduce:
Hello,
I'm trying OpenLayers3 examples and I found your browser has poor performance compared to Explorer and Chrome.
I think problem is Canvas rendering...
You can compare it -> http://ol3js.org/en/master/examples/synthetic-lines.html
Do you know what is the problem ?
Thanks!
Actual results:
Bad performance
Comment 1•11 years ago
|
||
Confirmed on Windows 7, 64 bits, with Firefox Beta 30 (User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0, Build ID: 20140605174243)
Status: UNCONFIRMED → NEW
Component: Untriaged → Canvas: 2D
Ever confirmed: true
Product: Firefox → Core
Whiteboard: [bugday-20140609]
Updated•11 years ago
|
Summary: canvas performance → Poor canvas performance on OpenLayers3
Another example - http://openlayers.org/en/v3.0.0/examples/vector-layer.html. Try to drag the map, while no country is selected.
Performance is awful... )-:
Comment 3•11 years ago
|
||
Updated•11 years ago
|
blocking-b2g: --- → backlog
| Assignee | ||
Updated•11 years ago
|
blocking-b2g: backlog → ---
tracking-b2g:
--- → backlog
Updated•10 years ago
|
tracking-b2g:
backlog → ---
Updated•10 years ago
|
Assignee: nobody → lsalzman
Comment 4•10 years ago
|
||
On the synthetic lines test case, and peeking inside what Cairo was doing, it appears to be handing us a fairly gigantic path of 10K points to stroke, which internally is generating a fairly big polygon mesh. The Direct2D backends also seem to choke on this as well. Skia and Skia GL backends seem to do much better and give interactive performance.
After conferring with Bas, it was discussed that the reason for this difference is that Skia is primarily a hairline renderer that does not mess with building meshes. Whereas for Cairo and Direct2D, since we are not caching the mesh that is built up, a lot of time is spent rebuilding this mesh every frame, and not much on the actual rendering itself. Bas also looked into IE11 performance on this test case and found it was similarly not good.
I tried poking at some Cairo "cheats" like turning off AA, messing with cap or join options, but none of that made much of a difference, as expected, since the bottleneck is in processing the mesh itself before any of that becomes an issue.
For the time being, I am not sure there is much we can do about this one for the Direct2D backend, though at least in cases where we rely on Cairo canvas, using Skia as an alternative is one solution.
Updated•10 years ago
|
Assignee: lsalzman → nobody
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•