Just to clarify in case someone's wondering, a browser named Opera still exists and gets updated now, but neither the people behind it nor the underlying technology are the same as in the old Opera this post is referring to.
As an old-time classic Opera user since version 5 or so, I do use the current Opera because I find it somewhat better than Chrome (it has more built-in stuff, including mouse gestures, Whatsapp/Telegram support, etc. I hate the barebones browser+extensions model) but unfortunately it's miles behind the old Opera experience.
I have also tried Vivaldi, and while it's a worthy effort, I'm sure many people will love it and I recommend trying it, it's missing one of the Opera characteristics I valued the most: Opera had practically zero UI lag/latency, whereas Vivaldi is rather slow, as the parent post says.
Vivaldi is exactly as slow or fast as any Chromium-based browser. A this point I've surrendered to the notion of the web never getting faster, but just eating away any efficiency gains in computing.
I like Vivaldi for the feature set. It's rich enough for the regular power-user, but the presentation is straightforward enough that you don't feel like you need to pimp your browser like you would Emacs. I felt home with Opera, and I feel home with Vivaldi now.
> Vivaldi is exactly as slow or fast as any Chromium-based browser.
That is not my experience at all. I tried a few different versions over the years (including the beta with the mail client, but not yet this 4.0) and the UI always feels ... slow, and not quite snappy enough to be comfterable. It's really hard to describe this and I'm not the kind of person who quickly gets annoyed by this sort of thing, but for me personally it's too much and every time I tried it it was annoying enough to give up after a day or two. It's like using some remote connection with X or vnc (okay, maybe not quite that bad, but definitely reminiscent of that).
In comparison, Chromium or Firefox doesn't have this at all on the same computer.
Maybe it's a Linux thing; I don't know. I can imagine it's not the highest priority for them. A lot of it seems in the UI layer (and not the rendering layer), which is vastly different from Chromium. I hope they will improve this at some point (and I'll try out this version, too) because outside of this Vivaldi looks pretty neat.
Try the same test with Vivaldi 3.7, 3.8 or 4.0...
They've optimized the browser interactions quite dramatically so it's much faster than the video shows. But... It's still slower than Chromium's UI.
Vivaldi UI got significantly faster exactly two times from product inception. First time was a random Taiwanese hacker reverse engineering it, noticing they were resizing _all background tabs_ every time you resized browser window, and sending them a patch https://github.com/WillyYu/vivaldi_1.7. The second time Vivaldi themselves speed up Tab open operation, and only this one operation. "tabs open twice as fast. increasing speed up to 2x" sounds impressive until you measure 400-500ms instead of previous 700-900ms, versus ~16ms in Chrome (one screen refresh).
As someone who now uses Vivaldi as their daily driver I can vouch that it's a bit slow, especially on older hardware. Obviously it's not intolerable, but it would be nice to see some improvements in that area.
tldr: Tab bar is just a DIV full of SPANs, one SPAN per Tab. Pages are in a list of DIVs containing iframes. Switching a Tab is a simple process of moving "active" class from one SPAN to another and changing style of one iframe to "visibility: hidden; z-index: -1;" while another one gets "visibility: inherit; z-index: initial;". So far so ~good. So how does Vivaldi handle Tab close? You would guess closing a Tab would entail
- switching iframe visibility away from Tab being closed first - instant visual feedback for the user
- removing SPAN representing Tab we want closed
- maybe fixing widths of remaining SPANs
What actually happens is a horror show normally reserved for second semester CS students trying OOP for the first time. List of all Tabs gets traversed multiple times, most of them rewritten couple of times, everything generating individual DOM changes.
10 Tabs open and you close the first one = ~30 DOM Reflows.
100 Tabs open and you close two in the middle = ~300 DOM Reflows.
100 Tabs open and you close first 10 = ~3000 DOM Reflows.
Stuttering UI is the staple of Vivaldi, codebase is full of functions running in linear/polynomial time to the number of Tabs open/Tab position on the list, in places where O(1) is trivial. Vivaldi is a browser that used to Resize contents of every single Tab opened when you resized its window - resizing was slower the more Tabs you had in Tab bar :o, going fullscreen could take 10 seconds.
As an old-time classic Opera user since version 5 or so, I do use the current Opera because I find it somewhat better than Chrome (it has more built-in stuff, including mouse gestures, Whatsapp/Telegram support, etc. I hate the barebones browser+extensions model) but unfortunately it's miles behind the old Opera experience.
I have also tried Vivaldi, and while it's a worthy effort, I'm sure many people will love it and I recommend trying it, it's missing one of the Opera characteristics I valued the most: Opera had practically zero UI lag/latency, whereas Vivaldi is rather slow, as the parent post says.