Changing the 'fluidity'

For all the help you need with Armagetron!
User avatar
Z-Man
God & Project Admin
Posts: 11733
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Changing the 'fluidity'

Post by Z-Man »

With VSync on, you can just experiment; as long as you don't drop below 60 FPS, you're fine, there won't be additional delays.

It should be possible to activate 4x Multisampling FSAA no problem. Supersampling is better, but eats a lot of power. For good anisotropic filtering, your card may be a little too old, but we're taking care of the worst effects it combats with dual textured floor anyway, so you don't need it. Personally, for Armagetron, I don't like what antialiasing and anisotropic filtering are doing to the picture: antialiasing makes the explosion lines look crappy and anisotropic filtering causes visible banding artifacts on our repetitive textures. So I leave both off entirely.
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Re: Changing the 'fluidity'

Post by Jonathan »

Remember Phytotron has a CRT running at 72+ Hz? Substitute that for 60 FPS. :) VSync may or may not feel better, but leave it on by default. If you do leave it on, setting swap mode to finish is obligatory.

I don't think the other settings really help him, as he likes the plain non-textured look.
ˌɑrməˈɡɛˌtrɑn
User avatar
Clutch
Shutout Match Winner
Posts: 1008
Joined: Fri Aug 28, 2009 5:53 pm
Location: A frozen wasteland

Re: Changing the 'fluidity'

Post by Clutch »

Jonathan wrote:The config said SWAP_MODE 1.

0 = Fastest
1 = Flush
2 = Finish
e
Z-Man wrote:
þsy wrote:What exactly is swap mode?
It determines how the CPU and GPU are synced. There can be no sync and full sync every frame (CPU waits for GPU to finish all commands) and something in between with effects that depend on your system. According to the config you posted, you're in that last mode, called "Flush". I suggest you go to the "Performance Tweaks" and switch the Swap Mode over to "Finish".
That helped me enormously, thank you.
Boxed
User avatar
Phytotron
Formerly Oscilloscope
Posts: 5042
Joined: Thu Jun 09, 2005 10:06 pm
Location: A site or situation, especially considered in regard to its surroundings.
Contact:

Re: Changing the 'fluidity'

Post by Phytotron »

Jonathan wrote:VSync may or may not feel better, but leave it on by default. If you do leave it on, setting swap mode to finish is obligatory.
Yep, I do. Does it feel better? I don't know that I notice, but supposedly it eats less CPU, yes? That was the main reason I did it. (Although, as I think I've mentioned, for some reason the override doesn't seem to work when in windowed mode—the FPS will jump back into the hundreds—so obviously I can't monitor CPU consumption in real-time while in fullscreen. I would assume there's some way to record it but....) 'Course, even in fullscreen I can't run anything in the background while playing. Makes the game very jittery.
I don't think the other settings really help him, as he likes the plain non-textured look.
Actually, these days I do turn on cycle, dir_wall, and rim_wall textures. Just no floor or sky, or explosions. But, it's true I might prefer a non-anti-aliased look. I like to keep smooth shading disabled, too.

I was more wondering what, with respect to those other options (FSAA and anisotropic filtering), Armagetron does by default, and if enabling one of those overrides would affect performance in some way, as per the topic's subject.

Can you give me a visual example of what's meant by "banding artifacts?"
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Re: Changing the 'fluidity'

Post by Jonathan »

By default Armagetron doesn't do FSAA or AF.

Some elaboration on the settings, as they apply to the Radeon 9600:

VSync: yup, reduces load.

FSAA: reduces jaggies. Supersampling oversamples everything, and is very hard on performance. Multisampling only oversamples geometry edges, and so is faster. Multisampling is also higher-quality for edges. With supersampling, textures have a slight blur/anti-aliasing to them (bilinear/trilinear texture filtering is usually good enough by itself, so the effect of this additional box filter is mostly a blur), although they're sharper at an angle. Supersampling Multisampling has the same texturing as no FSAA.

My recommendation: nothing or multisampling. I've always felt a slight lag with any FSAA enabled though, even if performance is otherwise excellent. Not sure where it comes from, but it keeps me from gaming with it. I don't think it has much effect on the experience either, when your graphics style looks very synthetic already (e.g. bare floor).

Anisotropic filtering: sharpens textures that are blurred by mipmapping when you look at them off-angle. Should work pretty well for the cycle and walls, if those occupied enough screen area to appreciate it. It's very sensitive to aliasing though, which is most visible on the textured floor. Combine that with the Radeon's low-quality AF, and you get horrible, horrible aliasing. Doesn't hit performance too much.

My recommendation: either disable it or max it out. If you use the textured floor, stay far, far away from it; use the dual-textured floor without AF instead if you want a sharp floor.

Quality slider: Not sure what it does exactly. I suspect it fudges texture LOD and filtering. I'd leave it alone.
ˌɑrməˈɡɛˌtrɑn
User avatar
Z-Man
God & Project Admin
Posts: 11733
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Changing the 'fluidity'

Post by Z-Man »

'banding' was a slightly wrong term, that's mostly what you get when you only have bilinear filtering with mipmaps, it's when you see the lines where mipmap levels change. That's something anisotropic filtering has, too, you sometimes see the lines where the different levels of the filter kicks in, but that's not what's most annoying. Most annoying is the moire effect, something you get when you have a too sharp filter applied to a regular pattern (the grid) and sampled at another regular pattern (your screen pixels). Observe the floor, all images with trilinear filtering.

Edit: replaced anisotropic regular floor, it was non-anisotropic dual texture floor before. Oops.
Attachments
Regular floor, no anisotropic filter. Gets blurry in the distance.
Regular floor, no anisotropic filter. Gets blurry in the distance.
Regular single texture floor with anisotropic filtering. Nice and sharp, but note the bent lines at certain spots in the distance. That's Monsieur Moire; the patterns change rapidly with movement. And in comparison to the next picture, odd brightness changes are apparent: that's the banding I was talking about. At least that doesn't flicker.
Regular single texture floor with anisotropic filtering. Nice and sharp, but note the bent lines at certain spots in the distance. That's Monsieur Moire; the patterns change rapidly with movement. And in comparison to the next picture, odd brightness changes are apparent: that's the banding I was talking about. At least that doesn't flicker.
Regular dual textured floor without anisotropic filtering. Ahh, yes.
Regular dual textured floor without anisotropic filtering. Ahh, yes.
Dual textured floor + 8x anisotropic filter.<br />No. Just... no.<br />(Also, it probably is a sizable performance hit. The filter is supposed to only kick in on slanted surfaces and only cost extra there, but the way dual textured floor works is that ALL of the floor appears slanted.)
Dual textured floor + 8x anisotropic filter.
No. Just... no.
(Also, it probably is a sizable performance hit. The filter is supposed to only kick in on slanted surfaces and only cost extra there, but the way dual textured floor works is that ALL of the floor appears slanted.)
User avatar
Phytotron
Formerly Oscilloscope
Posts: 5042
Joined: Thu Jun 09, 2005 10:06 pm
Location: A site or situation, especially considered in regard to its surroundings.
Contact:

Re: Changing the 'fluidity'

Post by Phytotron »

Well, your first three pics aren't large and bright/clear enough for me to see what you describe. I can see it in the final one. Looks the same, or similar, to just lowering the detail level. I took that to pretty extreme levels here.
User avatar
Z-Man
God & Project Admin
Posts: 11733
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Changing the 'fluidity'

Post by Z-Man »

Don't just look at them in the preview, open them full, best in different tabs, then switch between them. The floor color is white, it doesn't get any brighter than this. And zoom in. Making them at a higher resolution would not have helped.

And oops, two of them are identical, I now notice. Will fix.
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Re: Changing the 'fluidity'

Post by Jonathan »

I experimented with it myself now. I can relate to Z-Man's results. On a static image nothing except AF on the dual floor is terrible, but in motion it's blatant. Edit: I don't get the banding seen on screenshot 2. That's probably 'brilinear' filtering more than AF levels.

While I was experimenting the dual floor backfired on me. Turns out that with 8xMSAA, the dual floor without AF is more expensive than the single floor with 16x AF. A shader hack that renders the dual floor in one pass evened it out. I guess that's what you get for killing your rasterizer. At 1920x1200 it must've seemed like poison to my laptop's GPU. Only the dual-pass floor pulled it under 100 FPS though, in glFinish mode. :)
ˌɑrməˈɡɛˌtrɑn
User avatar
Phytotron
Formerly Oscilloscope
Posts: 5042
Joined: Thu Jun 09, 2005 10:06 pm
Location: A site or situation, especially considered in regard to its surroundings.
Contact:

Re: Changing the 'fluidity'

Post by Phytotron »

Z-Man wrote:Don't just look at them in the preview, open them full
:roll: I did that.
best in different tabs, then switch between them...and zoom
Didn't do that. :/ Even still, hard to tell anything in the distance (the lines just blend into the black floor), even after zooming. Also, talking about "bent lines" threw me off—I was looking for the actual grid lines to be bent. Had you just left it at moiré, I would have know what you were referring to, and I do see that now, barely. As I'm sure you're aware, a texture plane using closely spaced lines running in one direction produces quite a bit of moiré as well.

And, yeah, I do notice the "banding" in the third image now.
User avatar
Z-Man
God & Project Admin
Posts: 11733
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Changing the 'fluidity'

Post by Z-Man »

Phytotron wrote:As I'm sure you're aware, a texture plane using closely spaced lines running in one direction produces quite a bit of moiré as well.
Not with mipmaps and the right mipmap level selection bias (i.e. the default value). I'm sure the problems with anisotropic filtering can be overcome with an appropriate different choice there, or by pre-blurring the textures.
User avatar
Phytotron
Formerly Oscilloscope
Posts: 5042
Joined: Thu Jun 09, 2005 10:06 pm
Location: A site or situation, especially considered in regard to its surroundings.
Contact:

Re: Changing the 'fluidity'

Post by Phytotron »

Hmm. Using this floor texture (and, in this case, grid_size 4, although it'll occur at any size)...
source: GLtron artpack called &quot;Patterns&quot;
source: GLtron artpack called "Patterns"
floor.png (316 Bytes) Viewed 2037 times
...I get big time moiré patterns, as shown in this shots at each detail level:
MoireDetails.zip
(2.39 MiB) Downloaded 138 times
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Re: Changing the 'fluidity'

Post by Jonathan »

If you just bang at it hard enough, eventually it'll give way. :) The recommended Mipmap Bilinear and Mipmap Trilinear hold up pretty well though.
ˌɑrməˈɡɛˌtrɑn
User avatar
Z-Man
God & Project Admin
Posts: 11733
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Changing the 'fluidity'

Post by Z-Man »

Yeah, that's pretty much the worst case you can construct :) Textures that contain details smaller than two pixels are not safe to use with default bias. You only get Moire-free images with any input textures if you always use one mipmap level too coarse, but then of course everything gets blurry with well behaved input data. Only way to get rid of texture Morie completely without extra blur with current hardware is to use supersamling and mipmap bias. Better filters than bilinear/trilinear would work, too, but right now, you'd have to implement them in expensive shaders.

Start of a good blog article series on this and other aliasing artifacts, worth reading: http://blogs.msdn.com/b/shawnhar/archiv ... asing.aspx
Post Reply