Port performance enhancements / compiler optimizations from Thorium browser
-
Hey, a loyal Vivaldi user here, for many years now. A point about Thorium: I won't speak about benchmarks, but given that Vivaldi ended support for older Windows this year, it is highly unlikely that avx2 or similar optimizations could break anything for current users at this point in time, since Vivaldi already stopped working for older software which could be running in old hardware, and AVX2 dates from 2013.
Maybe Vivaldi devs could try importing some of the Thorium optimizations, there are several ones to take a look, and see how it goes? Vivaldi is well tuned, but there is always room for improvement, Some Thorium ones could be effective and relatively easy to implement: Patches are listed in OP, but if you still didn't check them: https://github.com/Alex313031/thorium/blob/main/infra/PATCHES.mdThank you
-
@HunterAP said in Port performance enhancements / compiler optimizations from Thorium browser:
There is a fork of the Chromium browser called Thorium. The main for Thorium is to include compiler and other optimizations to improve performance and add support for features not normally available in Chromium.
Here is the list of optimizations and improvements that the creator of Thorium mentions specifically:
- Compiler optimizations include SSE4.2, AVX, AES, and modifications to CFLAGS, LDFLAGS, thinLTO flags, import_instr_limit flags, and PGO, as well as other compiler flags.
- LLVM LOOP optimizations as -mllvm flags
- UI Changes and Patches for Linux and Windows that fix bugs, enhance useability, and strengthen privacy/security.
- Support for MPEG-DASH, JPEG XL, VAAPI for Linux,
The have the full list of changes here, and there are quite a few of them.
Thorium website: https://thorium.rocks/
Thorium's main GitHub page: https://github.com/Alex313031/thorium
Thorium's Windows builds: https://github.com/Alex313031/Thorium-Win
They similarly have other pages for Linux, MacOS, Windows on ARM64, Raspberry Pi, Android, etc.The reason I mention Thorium is that I have been using Vivaldi for roughly 3-4 years and love the features that it includes, but performance has been lacking for me. Simply opening a new tab of a YouTube video takes longer than even vanilla Chrome or FireFox, and they both get beaten out by Thorium. I would love to have the best of both worlds by having the features of Vivaldi with the performance of Thorium.
Hey all,
Just made a completely fresh account here because I was interested in this topic on a similar thread on Reddit, then ran into this suggestion thread. Overall, this is very recent; the one on Reddit is about 8/9 months old, but it does seem that this suggestion is for the most part inspired by the one on Reddit.
However, unlike the thread aforementioned, OP here kinda went into detail on just the technical checklist for each requirement. I think it is also equally important to bring forward the clear key difference between the development strategies of Thorium and Chromium.
And that key difference is such: Thorium opts in toward using these flags (esp. SSE4.2) because they favor more optimized compilation than they do favor widespread compatibility across systems/CPUs. Chromium is the opposite. To top it all off, Thorium still makes this decision despite not supplying necessary codecs like HEVC, although I'm not entirely sure what exactly is their full motivation behind that tradeoff.
Also noted, is that Vivaldi really sticks as close to Chromium as possible, to maintain as much synchronicity as humanly possible, although you didn't hear that from me. I'm just trying to reiterate what information I deciphered from Reddit.
The dev team can finally decide if it is a suggestion worth pursuing, given that info. (And will also decide which of it may even be relevant to them.)
-
@dazinger
Hi, I have test Thorium some time ago and it was not faster on my systems, specs in my signature.
A quick test with Speedometer 2.1 gives me the same result on a clean profile, Vivaldi is faster.
May I test video streaming later, Thorium does not work with GPU support on my Linux box.Cheers, mib
-
@mib3berlin Oh yeah, that's the other thing too. I forgot to mention.
May I suggest that compilation optimization under SSE4.2 would show "best" results under a heavy-load scenario?
As an example: Probably total a number of, let's say, 500 concurrently open tabs across 20 open windows! Believe it or not, it used to be pretty common for me back in the day when I'd have, say, triple monitors, between 7-10 virtual desktops and 20 windows, 25 tabs in each window on average. Assuming the lag wouldn't really get any worse if you were to go any higher than that haha. (Make sure no extensions are applied, either.) Would probably be the most intensive metric against compilation, and I would probably tack all of the major sites at once like twitter, facebook, Instagram, youtube.
And no extensions, obviously.
Looks like maybe without a GPU to back up the Thorium specs though, you might find a CPU bottleneck. I would be surprised if it didn't do that. No compiler flags are that good, lol.
EDIT: I suspect a lot of people would just blame any lag they would see on the UI webview in Vivaldi instead of the compilation. Is Chromium really that useful to compare it when it's never been really optimized that way? Technically, you might see significant improvements under heavy load in Thorium because of that. Extensions, however, throw all of that under the bus no matter which way you spin it.
-
@dazinger
Yeah, that seems possible, the last poll about tab using some time ago result in 8% of Vivaldi user use more than 100 tabs.
No idea how many use more than 300?
I use two windows on my 2 display desktop system sometimes but even with 700 tabs in 5 workspaces and playing a 4k video in the second window Vivaldi does not lag for me on my Ryzen 7 system.
May you check the new workspace feature in Vivaldi, no multiple windows needed anymore.
I test always without extensions, Thorium comes with preinstalled uBlock extension.
No social media on my systems.
I test on Windows 11 dev again and Thorium is about 10% faster on Speedometer, without uBlock.
It is more the missing features keep me away from other browsers, mail, calendar, speed dial, notes, panels and much more i use on a daily basis.
I can add extensions but then I get the extension problem, makes no sense to me.Have a nice day, mib
-
@mib3berlin said in Port performance enhancements / compiler optimizations from Thorium browser:
Specs in my signature
In specification is an error in the name:"Miniforum-B550".
Minisforum