Jump to content

Highest FPS viewer?


Phil Deakins
 Share

You are about to reply to a thread that has been inactive for 1162 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

FPS and SL is a funny thing and has a few things going against it  first is the user created nature of SL few people who build for it properly optimize there builds so our FPS will always be horrible from that  than there is the issue is it uses OpenGL which is being deprecated by GPU makers if your on a Radeon RX 6900 forget it you can enjoy 300+ FPS in your favorite games and a blistering 5 FPS in second life

 

there is a fix for the Radion blues in Secondlife in the form of Linux because of the MESA open source Open GL stack in X.org you go from 5 FPS to 45-50 FPS

Link to comment
Share on other sites

11 hours ago, Atosuria Daviau said:

FPS and SL is a funny thing and has a few things going against it  first is the user created nature of SL few people who build for it properly optimize there builds so our FPS will always be horrible from that  than there is the issue is it uses OpenGL which is being deprecated by GPU makers if your on a Radeon RX 6900 forget it you can enjoy 300+ FPS in your favorite games and a blistering 5 FPS in second life

 

there is a fix for the Radion blues in Secondlife in the form of Linux because of the MESA open source Open GL stack in X.org you go from 5 FPS to 45-50 FPS

While I wouldn't say it's THAT much better, but yes, in my experience the open source MESA drivers for my RX 580 do give me much higher framerates in Second Life than the official drivers AMD provides for Windows 10. I'm really not quite sure how much of that is due to Windows 10 being horrible, AMD OpenGL drivers being horrible, or some combination thereof.

Most Linux distros come with Gamemode, which can give a noticeable boost to any viewer once configured properly. At the very least, Gamemode simply sets the CPU governor to Performance mode, meaning that the processor will run all cores constantly at or near maximum frequency while the program is running. To run a viewer with Gamemode, open the viewer shell script instead of launching it and add:

export LL_WRAPPER='gamemoderun'

somewhere before this line, which in this case is for firestorm:
$LL_WRAPPER bin/do-not-directly-run-firestorm-bin "${ARGS[@]}"

I added the MESA mesarc PPA to my Ubuntu 20.04 installation mainly to get precompiled CoreCtrl, a nice GUI performance tool for Linux. With it I can create custom fan curves for my GPU, custom power profiles for applications, and even overclock my GPU. CPU settings are also available, but I generally let Gamemode handle the CPU power state switching.

I don't currently have Windows 10 installed on a hard drive hooked up to my computer, but I did make some tests last Summer at Moonberry Bay in the exact same location using various viewers. Singularity got around 23 fps on Windows 10 and 32 fps on Linux. Firestorm 6.4.5 got around 12 fps on Windows 10 and 21 fps on Linux. Cool VL Viewer 1.28.06 (WL renderer) got 16 fps on Windows 10 and 24 fps on Linux. Windows only viewers like Alchemy (21 fps) and Black Dragon (14 fps) would likely see significant gains as well if they were compiled for Linux. HOWEVER, this ONLY applies to my AMD system, and Nvidia users may not see the same difference since GPU drivers for Nvidia are essentially the same between Windows and Linux. Do your own tests with settings appropriate for your own computer!

Images of the tests can be seen here: https://www.dropbox.com/sh/evqqdqmjqeib6p4/AABp1FP5JwZqfLxkRWaLqpdXa?dl=0

Edited by KjartanEno
clarification
Link to comment
Share on other sites

i

37 minutes ago, KjartanEno said:

While I wouldn't say it's THAT much better, but yes, in my experience the open source MESA drivers for my RX 580 do give me much higher framerates in Second Life than the official drivers AMD provides for Windows 10. I'm really not quite sure how much of that is due to Windows 10 being horrible, AMD OpenGL drivers being horrible, or some combination thereof.

Most Linux distros come with Gamemode, which can give a noticeable boost to any viewer once configured properly. At the very least, Gamemode simply sets the CPU governor to Performance mode, meaning that the processor will run all cores constantly at or near maximum frequency while the program is running. To run a viewer with Gamemode, open the viewer shell script instead of launching it and add:

export LL_WRAPPER='gamemoderun'

somewhere before this line, which in this case is for firestorm:
$LL_WRAPPER bin/do-not-directly-run-firestorm-bin "${ARGS[@]}"

I added the MESA mesarc PPA to my Ubuntu 20.04 installation mainly to get precompiled CoreCtrl, a nice GUI performance tool for Linux. With it I can create custom fan curves for my GPU, custom power profiles for applications, and even overclock my GPU. CPU settings are also available, but I generally let Gamemode handle the CPU power state switching.

I don't currently have Windows 10 installed on a hard drive hooked up to my computer, but I did make some tests last Summer at Moonberry Bay in the exact same location using various viewers. Singularity got around 23 fps on Windows 10 and 32 fps on Linux. Firestorm 6.4.5 got around 12 fps on Windows 10 and 21 fps on Linux. Cool VL Viewer 1.28.06 (WL renderer) got 16 fps on Windows 10 and 24 fps on Linux. Windows only viewers like Alchemy (21 fps) and Black Dragon (14 fps) would likely see significant gains as well if they were compiled for Linux. HOWEVER, this ONLY applies to my AMD system, and Nvidia users may not see the same difference since GPU drivers for Nvidia are essentially the same between Windows and Linux. Do your own tests with settings appropriate for your own computer!

Images of the tests can be seen here: https://www.dropbox.com/sh/evqqdqmjqeib6p4/AABp1FP5JwZqfLxkRWaLqpdXa?dl=0

scarry thing is that is exactly my experance with runing in wondows vs linux in the same machine was a drastic improvement in useability another trick i found to improve perfomance was enable ACO and the new 5.10 kernel seems to have given me a boost

Link to comment
Share on other sites

  • 3 weeks later...

I've been revisiting the same sim, Chakryn Forest, for benchmarks lately. Someone mentioned Chakryn in the Apple M1 Silicon thread, and since then I've posted screenshots in a few other discussions. Well, I got a hold of Alchemy for Linux, and it gives the best framerate by far of all viewers available for Linux. Settings used: 128m draw distance, advanced lighting (no shadows), ambient occlusion enabled, LOD 2.0, water reflections: all objects and avatars, sky/trees/flexiprims/physics=on/max, sky=midday.

Alchemy did 56 fps, which is 10 fps more than Cool VL Viewer (WL renderer) was able to do on my AMD system. Firestorm came in between with ~51 fps.

Alchemy

Alchemy_Linux_Chakryn.thumb.jpg.96fad95df7917159b5faec197238f26a.jpg

Firestorm

FS_Linux_Chakryn.thumb.jpg.f5ccaf1e47a24528551ff1b609920616.jpg

Cool VL Viewer

CVLV_Linux_Chakryn.thumb.jpg.2f087e87cd155bd726073aca53e0214f.jpg

Ryzen 5 3600, AMD RX 580 8 GB, 16 GB system RAM, Ubuntu 20.04 Mate: kernel 5.4 Mesa 21.0.0, & all viewers run in 'performance' mode.

Link to comment
Share on other sites

You know, this is getting tiring... I made my way to the sim you took the screenshot from and guess what ?  At the position on your screen shot (228,182,25), I cannot see this scene: I must zoom around with the camera to see it, meaning I collect a variable amount of objects in cache doing so (it's called the ”interest list”), which ruins any reproducible benchmarking !

Also, I told you already: you just cannot benchmark viewers using a different renderer. If you want to compare my viewer (which can do both WL and EE) with others, at least use the same renderer !  As it is, this scene (which contains a lot of alpha textures) renders faster in EE than in WL (EE can batch those textures, which WL cannot do).

And where is your avatar ?... Are you using SL without any avatar rendered ?... Mind you, avatar rendering is costly (especially CPU side) and is an important element to benchmark as well.

So, here are my results with my viewer and Firestorm (I do not have a Linux version of Alchemy, but if someone passes me one, I'll test it too), configured in the exact same way: same graphics, with EE on in my viewer, ALM+SSAO, all water reflections, no shadow, same LODs in both viewers (3 for objects, 2 for terrain, max for all others, mesh LOD multiplier set to 1 in my viewer since Firestorm does not have this),  low altitude clouds (AKA classic clouds) OFF in my viewer (Firestorm does not have them and they eat quite a few FPS). The major differences with your settings are: draw distance = 256m and a 1920x1200 screen (viewer window maximized in it), one avatar on screen, with a rigged mesh body, attachments (basic prims, scuplties and meshes, plus costly flexiprims).

The results, on a 9700K @ 5GHz locked on all cores and a GTX1070Ti locked @ 1974MHz (GPU) / 9216MHz (VRAM) are as follow: Cool VL Viewer v1.28.2.4 = 55-59fps, Firestorm v6.4.12 = 31-34fps. Proofs below (the frame rate is displayed in the bottom right corner for my viewer and upper right corner for Firestorm).

CoolVLViewerEE.thumb.jpg.e0cccb077ee9d544a89dd5bed41e0c41.jpgFirestormEE.thumb.jpg.e4b886539cafb69feec57b33645896fb.jpg

Edited by Henri Beauchamp
  • Like 2
Link to comment
Share on other sites

7 hours ago, Henri Beauchamp said:

As it is, this scene (which contains a lot of alpha textures) renders faster in EE than in WL (EE can batch those textures, which WL cannot do).

No, it did not. WL rendered a few frames per second faster than EE using Cool VL Viewer on the AMD computer.

I repeated the tests on my five year old computer with Intel i3 6100 @ 3.7 GHz, 8 GB system RAM, Nvidia GTX 960 2 GB, running Ubuntu 20.04 MATE with kernel 5.4 and Nvidia driver version 450.102.04. Settings were identical to the AMD tests with the exception of the texture RAM being set to 1GB on this computer.

Cool VL Viewer 1.28.2.4 EE rendering mode, because it's supposedly faster: 37 fps

Nvidia_Chakryn_CVLV.thumb.jpg.77c8b0b475c22af1ede71a09b68f3b89.jpg

Firestorm: 36-37 fps

Nvidia_Chakryn_Firestorm.thumb.jpg.1139fa43b2e419579fb32c043c88405a.jpg

Alchemy: 41-43 fps

Nvidia_Chakryn_Alchemy.thumb.jpg.9c4db3278abed3cb8f426f4b28132cca.jpg

7 hours ago, Henri Beauchamp said:

You know, this is getting tiring.

I'm having fun.

Link to comment
Share on other sites

5 hours ago, KjartanEno said:

I'm having fun.

And you are being dishonest and obviously trying to badmouth my viewer reputation... You did not even address the valid criticisms I pointed out (zooming around before benchmark instead of benchmarking at login position, no avatar rendered).

I urge everyone reading this forum to use their own benchmarks instead of relying on your flawed numbers !

Edited by Henri Beauchamp
Link to comment
Share on other sites

I've been to clubs where some avatar drags the framerate down to single digits due to the ridiculously high polygon counts that the body, head, hair, and all other attachments add up to on that agent. If I wanted to be dishonest, I would put my avatar in the view while wearing some awful bit of prim jewelry barely visible to the camera, yet severely affecting the overall framerate for that particular viewer. Instead, it made sense to me that someone could cam to the same view I showed and get an idea of how the sim renders without the variable of an avatar to account for.

I'm not sure just how many people log in and admire the exact same view every single day. Part of the fun in Second Life is moving around. I took my Bandit 170 around the waterways of Bellisseria this morning using Alchemy viewer. It was wonderful. If 'zooming around' is enough to adversely affect the framerate of Cool VL Viewer compared to other viewers, will it be a good viewer for boating? 🤷‍♂️

I completely agree that people should do their own benchmarks. Don't take my word for it. Don't put faith in anyone's claims. And lastly, but most importantly, it's just a viewer. It's not a Church. There is no Sin here. Code is just code, not Holy Scripture. If you're not having fun, you're taking it all way too seriously.

  • Like 1
Link to comment
Share on other sites

2 hours ago, KjartanEno said:

I've been to clubs where some avatar drags the framerate down to single digits due to the ridiculously high polygon counts that the body, head, hair, and all other attachments add up to on that agent. If I wanted to be dishonest, I would put my avatar in the view while wearing some awful bit of prim jewelry barely visible to the camera, yet severely affecting the overall framerate for that particular viewer. Instead, it made sense to me that someone could cam to the same view I showed and get an idea of how the sim renders without the variable of an avatar to account for.

There is no ”variable” when you can render the same avatars for all benchmarks. As for clubs and venues, I never seen my viewer dropping to single digit frame rates, even for venues with 40+ avatars and ”impostoring” turned off !  Mind you, the avatar rendering is especially carefully optimized in my viewer (e.g. with joints caches indexed by integer keys instead of recursive searches down the joint hierarchy by string keys, cached attachments, cached rigged skinning matrix, etc) !

2 hours ago, KjartanEno said:

I'm not sure just how many people log in and admire the exact same view every single day. Part of the fun in Second Life is moving around. I took my Bandit 170 around the waterways of Bellisseria this morning using Alchemy viewer. It was wonderful. If 'zooming around' is enough to adversely affect the framerate of Cool VL Viewer compared to other viewers, will it be a good viewer for boating?

Amusing, for someone who wrote in a PM to me on my forum (dated 2020-10-06 17:46:30):

Quote

First and foremost I wanted to say that when it comes to driving and boating on mainland sims, your viewer has the others beat hands down. When using the latest viewers, whether Firestorm, Kokua, or Restrained Love, and navigating the roads of Heterocera or the coastline of Bellisseria, they often become incredibly sluggish as the mesh loads, making it an overall unpleasant experience. With your viewer, I'm able to zip along nicely even as a lot of mesh and textures are loading. I don't know what 'magic' you use, but I like it!

But you missed entirely the point: since you cannot zoom in the exact same way between different benchmarking sessions, you are destroying the reproducibility of the benchmarking (one viewer could get advantaged during one session, and another viewer for the next try, depending on how many objects entered the objects list during the zooming).

Beside, keeping more objects in object cache may be detrimental to the ”fixed view” benchmarking, but will favour the frame rate while moving and turning around. And yes, I use a different algorithm (and different parameters) for LLVOCache than other viewers.

2 hours ago, KjartanEno said:

And lastly, but most importantly, it's just a viewer. It's not a Church. There is no Sin here. Code is just code, not Holy Scripture.

No, it's not a church (and I'm an atheist, so...). But obviously, you are NOT a programmer. I do put art in my coding, and take pride from it, because yes, it is chiseled sculpture, with handcrafted optimizations (I'm not just ”pissing code” and hoping the optimizing compiler will turn the resulting crap into a fast running binary).

If you want to see the results of this optimization work (that I pursed during the past 13 years for the Cool VL Viewer), you may try and measure the ”main loop” overhead (which determines how much time it takes for the C++ code to execute at each frame, rendering (mostly) taken apart): rez a platform at 3000+ meters (where no object/avatar will be around, reduce DD to 128m if necessary). Stand with your avatar on that platform and remove everything it is wearing (i.e. keep only shape, skin, eyes and legacy hair). Log off, then for each viewer, turn off ALM (to remove most of the GPU/shaders overhead) before logging back in, wait one minute or so for the frame rate to stabilize and compare. I get:

Cool VL Viewer v1.28.2.4 WL rendering mode: around 1320 fps.

Cool VL Viewer v1.28.2.4 EE rendering mode: around 1100 fps (yep, EE overhead is far from negligible, and I need to work more on that !).

Firestorm v6.3.9 (WL): around 700fps

Firestorm v6.4.12 (EE): around 720fps

Singularity v1.8.9 (WL): around 1080fps (taken from the log to avoid opening the stats floater which would slow things down).

I can't sadly give you a figure for other viewers (which do not have a Linux version), but last time I tried with LL's viewer (when they still had a Linux release) it was by far the slowest with below 600fps....

This gives you a little idea of how much C++ optimizations I did put in my viewer (and make no mistake, other viewers, LL's taken apart, are also carefully optimized by competent programmers). So, when you tell me it is slower than all others while, Singularity and Black Dragon excepted, all viewers use the same set of shaders (with only very minor cosmetic/rendering differences that won't affect the FPS rate), it is simply an impossibility !  And all my tests always showed it.

End of the topic, as far as I am concerned !

Edited by Henri Beauchamp
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, bigmoe Whitfield said:

:P  32m draw and no shadows and I rock around 60+ constant with all the other pretties even in crowds, so, I must be doing something right with a 980ftw.

How about 96m draw distance, shadows and all fancies on and high complexity avatars getting impostored and still rocking 40-60 FPS. Everything looking nice and not like a sun is in the room with me.

Also your GPU is overkill and is not your bottleneck without shadows (and even with shadows its highly dependent on the scene and more dependent on the sun position, low sun angle, long shadows will spike your GPU usage and drop your frames fast)

Edited by NiranV Dean
  • Like 1
Link to comment
Share on other sites

44 minutes ago, NiranV Dean said:

How about 96m draw distance, shadows and all fancies on and high complexity avatars getting impostored and still rocking 40-60 FPS. Everything looking nice and not like a sun is in the room with me.

Also your GPU is overkill and is not your bottleneck without shadows (and even with shadows its highly dependent on the scene and more dependent on the sun position, low sun angle, long shadows will spike your GPU usage and drop your frames fast)

:P

Link to comment
Share on other sites

On 1/20/2021 at 8:55 AM, Henri Beauchamp said:

Amusing, for someone who wrote in a PM to me on my forum (dated 2020-10-06 17:46:30):

First and foremost I wanted to say that when it comes to driving and boating on mainland sims, your viewer has the others beat hands down. When using the latest viewers, whether Firestorm, Kokua, or Restrained Love, and navigating the roads of Heterocera or the coastline of Bellisseria, they often become incredibly sluggish as the mesh loads, making it an overall unpleasant experience. With your viewer, I'm able to zip along nicely even as a lot of mesh and textures are loading. I don't know what 'magic' you use, but I like it!

Yes, I wrote that. How does your viewer compare to Firestorm today? By your benchmark, it should give at least 50% higher framerates than Firestorm. By my moving benchmark on AMD hardware, Cool VL Viewer has a higher minimum framerate but lower maximum framerate than Firestorm. I'm curious to know why. Perhaps the average user will just take someone's word for it, that viewer A is faster than viewer B, but not me.

https://www.dropbox.com/s/i31y7wcooz0lq1f/CoolVLViewer_Bellisseria.mkv?dl=0

https://www.dropbox.com/s/cx93ifjcjzzrlfo/Firestorm_Bellisseria.mkv?dl=0

Link to comment
Share on other sites

Here's an interesting theory:

Cool VL Viewer runs faster on older hardware.

Other Viewers run faster on newer hardware.

Why? Because old Viewers (1.26 based) have always run faster on old hardware. Magic.

 

But here's an interesting opinion on this matter:

All your benchmarks don't mean anything because: A) They are not done in Deferred Rendering and B) SL is virtually unbenchmarkable in a clean sterile environment. A single changed variable, be it microscopic in size, can change absolutely everything and i can guarantee you that no session will ever be exactly the same (or even close) to another. As long as i don't see you testing the same hardware with absolutely the same settings (which in itself is already virtually impossible) and camera angle across several viewers multiple times taking out any potential variable that could skew the test (it could be that one single notification you keep hoarding or that one random IM you just got) there is no baseline benchmark that we can start from so any "this Viewer is faster" is completely subjective. One Viewer having more FPS in one single situation doesn't mean anything apart from that... you could be coming back the next day and the results could be completely flipped. Heck here's an interesting thing: compiling my Viewer and not renaming the blackdragon-bin.exe to Black Dragon.exe makes me lose a good chunk of my performance (we're speaking of up to 20 FPS here and no i don't have a graphics driver profile for either of these two executables).

That being said i'd still assume that Cool VL Viewer is objectively faster (just like any Viewer) than Firestorm and your results bring up a lot of questions... mostly whats the difference and why are the results skewed towards Firestorm. Questions i have no answers to.

Edited by NiranV Dean
Link to comment
Share on other sites

1 hour ago, NiranV Dean said:

All your benchmarks don't mean anything because: A) They are not done in Deferred Rendering

They are. The still images posted only have shadows turned off. If you watched the videos, the shadows are on and the time is set to midday (A-12PM).

But then again, maybe benchmarks are 'useless' since what matters to most people are the features provided by one viewer over another, and the operating system being used. I really like Black Dragon, but it doesn't have a Linux version, and Windows isn't installed on my computers anymore. What Henri doesn't seem to realize is that I really do like Cool VL Viewer. I'd use it more often while driving and boating if only it had parcel boundaries on the minimap. I want it to be the fastest, but I'm going to be honest with my assessment of its speed in my case. It would seem logical that the simpler interface on Cool VL Viewer should require less resources than the interface that Firestorm has. I believe Henri when he says his code is artfully crafted and up to date. I took the time to set up the Lua script for my own side bar buttons in his viewer.

I've been saying for a while now that I don't get the expected high framerates, and all I keep getting from Henri is that it's my fault, somehow. If the only feedback ever accepted is positive, how does that help anyone? If there's so little interest in performing some kind of benchmark between viewers, then people are apparently just taking Henri's word for it. If he had simply said, "well I compile my code to work on my personal hardware and operating system, the rest is out of my hands, YMMV," then I'd have said OK and left it at that. It's a tempest in a teacup, hardly worth the time to write about it, but maybe by calmly talking about it we can figure things out.

Link to comment
Share on other sites

4 minutes ago, Solar Legion said:

Congrats Kjartan, you've managed to encounter one of the biggest issues with some TPV devs: Their attitudes, especially where their own projects/personal beliefs are concerned.

Good thing i've stopped recommending my Viewer for anything. I let people do that so no one can say i'm biased towards my own Viewer. Heh.

35 minutes ago, KjartanEno said:

They are. The still images posted only have shadows turned off. If you watched the videos, the shadows are on and the time is set to midday (A-12PM).

Yea i didn't watch the videos but looked at the pictures, the scene is extremely complex and its hard to tell whether Deferred is on if no additional feature (like shadows) is used.

But this might already be the reason you see these differences. I THINK i remember Henri saying that he doesn't use Deferred or optimize for it (might have been someone else) but if that's true, it could explain at least partly why the results differ so much.

Edited by NiranV Dean
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1162 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...