Page MenuHomePhabricator

VisualEditor: floating toolbar causes scrolling of large pages to be very slow
Closed, ResolvedPublic

Description

In Firefox, scrolling a large VE page is very slow, with visible pauses between repaints, predominantly because of the floating toolbar. Calling disableFloating() on the toolbar from the JS console causes scrolling to be roughly as fast as scrolling the non-VE page view.

Timo says he knows how to fix this.


Version: unspecified
Severity: normal

Details

Reference
bz52014

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 1:45 AM
bzimport set Reference to bz52014.

@Krinkle: How are you going to fix this? :-)

(In reply to comment #1)

@Krinkle: How are you going to fix this? :-)

<Krinkle> I already did, in a way. Earlier this week I re-used that logic for mw.notification (which now also has a floating mode, previously mw.notify messages weren't visible if you scroll down the page, which is a problem for VE). However I noticed a few things that could be optimised that I did 'right' from the get go for mw.notify. I should be able to apply that to ve as well
<Krinkle> most notably the fact that floating calculation for ve toolbar calls offset() each time
<Krinkle> which is a repaint for something that is unlikely to ever change
<Krinkle> I realised it when I was doing mwnotify but never remembered to fix it in VE

Change 76241 had a related patch set uploaded by Jforrester:
ve.ui.Toolbar: Refactor floating logic for performance

https://gerrit.wikimedia.org/r/76241

Change 76241 merged by jenkins-bot:
ve.ui.Toolbar: Refactor floating logic for performance

https://gerrit.wikimedia.org/r/76241