r_stereo framerate changes

Hi, I’ve been poking around the command line arguments for Quakespasm trying to squeeze a few more FPS out of my toaster and found r_stereo, which is primarily for use with oldschool red/cyan 3D glasses. However I also noticed when I activated it that my FPS counter saw a significant hike, even if I set the value to 0.01 or lower, at which point there is no real change to the visuals. But I was sceptical because I couldn’t really see an increase in smoothness, so I checked performance with timerefresh and timedemo, and in both cases the framerate was lower with r_stereo active. So is the increase in the FPS counter just a bug that results from the game effectively drawing the game twice in each colour when r_stereo is active?

Yes, it’s just a bug with the fps counter. I guess it counts each eye as a frame rendered.
Quake (vanilla, and QuakeSpasm) is throttled to 72fps (cvar: host_maxfps) by default. What kind of fps are you getting and what are the GPU/CPU?

On very old / slow systems the main tweaks to try are “r_oldwater 1”, “gl_flashblend 1” (changes moving lights into ugly sprites), “r_dynamic 0” (disables dynamic lights altogether)

This is my current setup:
fov 110
sv_aim 0
gl_texturemode 1
r_particles 2
r_oldwater 1
r_skyfog 0
r_sky_quality 4
fog 0
v_gunkick 2
r_waterwarp 0
r_wateralpha 1
scr_showfps 1
scr_conspeed 1000
scr_conalpha 0
cl_bob 0.004
cl_rollangle 0
host_maxfps 60
gl_subdivide_size 32

I’ll poke at gl_flashblend and r_dynamic a bit more, but I hadn’t noticed any noticeable improvements to framerate when I tried them initially. System is a Core 2 Duo P8700 with 4500MHD integrated graphics, I get constant 60 FPS in the main game and its expansions, mainly been tweaking to get a better framerate in Arcane Dimensions. Speaking of which, when I play AD maps it constantly overrides my fog settings, both at the start of levels and at certain points throughout, is there any way to force fog to remain at 0?

Yep, check out the quake.rc file in your Arcane Dimensions directory. Adding 2048 to the value of the temp1 cvar should turn off AD’s fog features. You can also turn off AD’s particle effects using the temp1 cvar.

gl_flashblend / r_dynamic will only give a framerate improvement depending on what’s happening in the map. gl_flashblend will help if you get framerate drops when the glowing lava balls come up in start.bsp.

Will more than 72 FPS actually cause a problem? I have mine set to 144 and haven’t seen anything weird yet.

That change to the quake.rc file seems to have fixed the fog issue, still goes to the map’s default value at the start of each level, but no longer overrides it at certain point throughout. I assume the fog was being changed in density/colour at certain points in each map, which was what was causing it to override settings?

I ran through ad_e1m1 and then used timedemo with the r_dynamic and fl_flashblend cvars toggled, there was only an increase of 0.2 FPS.

Yeah, many of the AD maps have triggers that change the fog. The mod code has a feature where it sends fog change commands to the engine periodically to implement this.

Aside from that mod feature, the engine still reads fog settings from the map on startup as you noticed. I guess it would be useful if Quakespasm had a cvar to disable fog entirely (e.g. r_fog 0) but currently I don’t think there is one, just the “fog” command"

Ah ok. That’s good, I guess, because it means your gpu/drivers aren’t bottlenecked by the rendering-to-texture that those features do.
I don’t expect any other config tweaks will make Quakespasm run faster, but you never know with OpenGL.
You could another engine like MarkV which is quite similar to QS, and there is a DirectX version of it that some have reported running faster on Intel gpu’s: http://quakeone.com/markv/

TERMiNAL: Someone recently reported that things start to break at 165 fps: http://celephais.net/board/view_thread.php?id=60452&start=2690&end=2690
IIRC, FifthElephan also uses host_maxfps 144 and I don’t think he has issues with it. I don’t have a 144hz monitor to test with myself.

[quote=ericw]Yeah, many of the AD maps have triggers that change the fog. The mod code has a feature where it sends fog change commands to the engine periodically to implement this.

Aside from that mod feature, the engine still reads fog settings from the map on startup as you noticed. I guess it would be useful if Quakespasm had a cvar to disable fog entirely (e.g. r_fog 0) but currently I don’t think there is one, just the “fog” command"

Ah ok. That’s good, I guess, because it means your gpu/drivers aren’t bottlenecked by the rendering-to-texture that those features do.
I don’t expect any other config tweaks will make Quakespasm run faster, but you never know with OpenGL.
You could another engine like MarkV which is quite similar to QS, and there is a DirectX version of it that some have reported running faster on Intel gpu’s: http://quakeone.com/markv/

TERMiNAL: Someone recently reported that things start to break at 165 fps: http://celephais.net/board/view_thread.php?id=60452&start=2690&end=2690
IIRC, FifthElephan also uses host_maxfps 144 and I don’t think he has issues with it. I don’t have a 144hz monitor to test with myself.[/quote]

Awesome thanks for the reply.

I’ve only noticed one or two glitches with an elevator that would keep crushing me when I had high FPS, haven’t really noticed anything else.

I quite like the features on this port such as still having the software renderer available and being able to set the weapon draw style among other things, however it seems a bit unstable on Linux, throws segfaults half the time I launch it and has a gravelly/grainy sound issue.

[quote=Kim Smoltz][quote=ericw]
Ah ok. That’s good, I guess, because it means your gpu/drivers aren’t bottlenecked by the rendering-to-texture that those features do.
I don’t expect any other config tweaks will make Quakespasm run faster, but you never know with OpenGL.
You could another engine like MarkV which is quite similar to QS, and there is a DirectX version of it that some have reported running faster on Intel gpu’s: http://quakeone.com/markv/
[/quote]
I quite like the features on this port such as still having the software renderer available and being able to set the weapon draw style among other things, however it seems a bit unstable on Linux, throws segfaults half the time I launch it and has a gravelly/grainy sound issue.[/quote]

I prefer Quakespasm because for me the MarkV seemed to be screwy with Freesync and i was getting bad stuttering when I enter a map all the time.

Just a preference though…I like both.

I’m not sure who makes Quakespasm or if it will keep getting worked on?

Am I correct in saying that Quakespasm had the ability to set the weapon draw style removed? The default in Quakespasm results in seeing more and more of the weapon as you increase your FOV, whereas there’s a preferences menu in MarkV that lets you lock weapons so you have the default perspective on them regardless of FOV. I can kind of emulate it by using the commands that adjust the first person camera such as scr_ofsx but this also adjusts the view slightly, whereas that doesn’t seem to be the case with adjusting the weapon draw style in MarkV.

QS’s gun positioning is unchanged from Fitzquake 0.85 (the engine that Quakespasm and MarkV are forks of), but Baker (MarkV author) added enhancements like the FOV lock, and also I think he adjusted the positioning relative to the status bar to be closer to WinQuake. As far as I know scr_ofsx is the only way to adjust the gun position in Quakespasm currently.

Some time I want to review and bring these changes over to Quakespasm (optional, with cvars), and also been meaning to review: https://github.com/bangstk/Quakespasm which implements some gun position changes as well.

TERMiNAL: QS is still alive, I’m one of the contributors, though I haven’t done much recently. No plans to stop making updates though :slight_smile:

[quote=ericw]QS’s gun positioning is unchanged from Fitzquake 0.85 (the engine that Quakespasm and MarkV are forks of), but Baker (MarkV author) added enhancements like the FOV lock, and also I think he adjusted the positioning relative to the status bar to be closer to WinQuake. As far as I know scr_ofsx is the only way to adjust the gun position in Quakespasm currently.

Some time I want to review and bring these changes over to Quakespasm (optional, with cvars), and also been meaning to review: https://github.com/bangstk/Quakespasm which implements some gun position changes as well.

TERMiNAL: QS is still alive, I’m one of the contributors, though I haven’t done much recently. No plans to stop making updates though :-)[/quote]

Awesome, love me some Quakespasm.