It’s probably an issue of Safari and nothing much can be done from Vaadin’s side, but I thought about asking here if someone else had noticed this and/or found a way to alleviate it.
I’ve recently noticed that entering data on a section of my Vaadin6-based application, which depending on the users configuration can show up to a couple of thousand TextFields, is very sluggish in Safari. So I’ve been doing some tests and something as simple as this:
Window win = new Window();
setMainWindow(win);
win.setSizeFull();
for (int i = 0; i < 500; i++) {
TextField tf = new TextField();
win.addComponent(tf);
}
and you can start to notice a delay after every keystroke. Increase it to 5000 and each keystroke takes a couple of seconds to be processed. 50000 will pretty much bring Safari to its knees, even on a fast i7 machine.
In other browsers it takes around 10 times the number of TextFields to see a similar effect, being Firefox and particularly Edge more lenient than Chrome, especially when arranged in both directions so more fields are shown at the same time.
Like I said I’ve just noticed this recently, on Safari 10.1.1. I restored version 10.0.3 from a backup and it does it too. if I find the time I’ll do a temporary installation of an older version of OX and Safari to try with those, because I can’t be completely sure but I think I’ve tested my application on Safari before with that amount of data and not seen this.
I don’t have Vaadin 8 in my development environment, but I have tried with Vaadin 7 and the same thing happens.