How to gain FPS

Got something that makes Armagetron look shiny? Post it here.
User avatar
Joe
Core Dumper
Posts: 161
Joined: Fri Aug 27, 2004 6:11 am
Location: C eh N eh D eh
Contact:

How to gain FPS

Post by Joe »

I'm just going to post up the settings Monkey gave me that made me go from 20 fps average to over 200. I'd also like to say these are for people who want better playability. The looks of the game will suffer but who really cares anyways.

First get the newest version of 2.8.2, not alpha or any others. According to most this is the most stable version that you can get.

Links here:

For the mac version durka compiled - http://durkas.info/mac/

The beta site - http://beta.armagetronad.net/

Go to your menu then system setup, and then display settings.

Screen Mode:

Color depth: 16 bit
Z buffer Depth: 16 bit
Apple Changes

The other settings don't really matter

Preferences:

Sparks: off
Explosion: off
Sky movement: off
Show fps: On
Lower Sky: off
Upper Sky: off
High Rim: off
Hub Options: Turn off all the things you don't use/need

Detail Settings:

Font: Bilinear
Object textures: Bilinear
Wall Textures: Bilinear
Floor Textures: off
TrueColor Textures: On
Smooth Shading: on (can turn this off too if you want)
Alpha Blending: off
Floor Detail: No Floor
Dithering: off
Floor Mirror: off

Performance Tweaks:

Swap Mode: Flush
Infinity: off
Display Lists: create and call


- JJ

Monkey
Match Winner
Posts: 725
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Post by Monkey »

This is my first post in these forums even though I have been reading them since I started playing so...hi.

What JJ has written is very good but not everything is how I said. We both agree that FPS improvements are essential. Here are some alterations to JJ's post:

First of all, it is most likely that people with FPS issues are using version 0.2.8.2.1 of Armagetron Advanced. There are two main "branches" of armagetron that are being worked on. These are 0.2.8 and 0.3. Now 0.2.8.2.1 is a very old but "stable" version of 0.2.8. If you care about getting more fps then you want to get a much newer version of 0.2.8 from http://beta.armagetronad.net. I would say these are "beta"s even though they are called "alpha"s. Don't worry about this for now. If you really want a 0.3 version then get the latest 0.3 beta from the same site. At that site choose your "OS" and "Format" (Mac OS X = "DMG", Windows = "EXE").

Some alterations to JJ's settings:

Lower resolutions might give you more fps. Also playing full screen might too.

I have wall and object textures off but they dont make a huge difference to FPS and they can make the game nicer to look at for some.
Trucolour textures I have off.

Smooth shading and alpha blending make little difference so choose your personal preference.

Other tips for more FPS:

Update your graphics card drivers (or on-board graphics chipset drivers). The newer your card the more often you should do this.

Turn off as many applications as possible. I found web browsers to be one of the worst.
Playing since December 2006

User avatar
Jonathan
A Brave Victim
Posts: 3392
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Re: How to gain FPS

Post by Jonathan »

Some additions:
Joe wrote:The other settings don't really matter
Fullscreen should be slightly faster, especially on older hardware where you find that disabling the floor and such helps.
Joe wrote:Explosion: off
Almost free, I think.
Joe wrote:Object textures: Bilinear
Wall Textures: Bilinear
I recommend mipmap bilinear. Mipmapping is free on hardware but the bad locality of no mipmapping isn't. Bilinear is no slower than nearest on hardware so go for nicer filtering. Trilinear DOES slow things down. Not that texture filtering matters much when your settings are such that only a fraction of the screen is filled with textures.
Joe wrote:TrueColor Textures: On
I actually think this is slower, but see what works. Also same as with filtering, if you hardly fill anything with textures it won't make much of a difference.
Joe wrote:Smooth Shading: on (can turn this off too if you want)
Is free.
Joe wrote:Floor Detail: No Floor
Just grid is almost free. Use that if you want a grid even if it's crude.
Joe wrote:Swap Mode: Flush
This mode is good for framerate but might lag a bit. YMMV.
Joe wrote:Infinity: off
This shouldn't really hit framerate. The switch is there so people can turn it off when it doesn't work properly. Infinity only affects the textured floor or the high rim so I guess I'm picking nits.
Joe wrote:Display Lists: create and call
Create and execute should be faster in theory, most certainly no slower.
ˌɑrməˈɡɛˌtrɑn

Monkey
Match Winner
Posts: 725
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Post by Monkey »

I forgot to add that display lists (both "create and call" and "create and execute") may cause Armagetron Advanced to crash (they do on mine). If both of these cause a crash while you are playing then turn display lists off (no this has not definitely been fixed...before someone says it has).

In general, "create and execute" seems to have a worse reputation than "create and call" but I am no expert on the matter so correct me if I am wrong.
Playing since December 2006

User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

I find the biggest improvements are turn off the sky, turn on infinity, turn off the floor (just grid is too crude for me). Make sure you have mirroring off too. Other than that, I don't notice significant fps changes anywhere else (except in the display list stuff, but I haven't fooled much with that).

Some of the detail settings may also look like they'll improve fps if you go for a lower setting, but actually make it worse. Choose "default" when it's available, that's hardware default.

Finally, 200fps means you're throwing away frames that you'll never see. We can argue about how well the human eye can see all day long, but your monitor vertical refresh rate is inarguable. Once you exceed that, you've gained nothing and sacrificed playability a bit, so if I were you, I'd go back through and start turning on features again until I come to a framerate about 15% above my monitor vertical sync. That 15% increase is a cushion for when the grid fills up and your fps drops, and it should keep you pretty close to your monitor's vertical refresh rate.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6698
Joined: Thu Dec 18, 2003 7:03 pm

Post by Tank Program »

Am I the only freak that likes to play at lower fps? I find 30 to be better game play than 300. It feels like you get more leeway with the game that way.
Image

User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Tank Program wrote:Am I the only freak that likes to play at lower fps? I find 30 to be better game play than 300. It feels like you get more leeway with the game that way.
Yes, you're a freak.

I think that lower fps actually gives you less margin of error.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

User avatar
Z-Man
God & Project Admin
Posts: 11233
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne, Jabber: [email protected]
Contact:

Re: How to gain FPS

Post by Z-Man »

Jonathan wrote:
Joe wrote:Infinity: off
This shouldn't really hit framerate.
Well, Infinity: On uses just three vertices to render each rim wall segment, on Off you need four, with practically the same screen area covered. So turning it on should be a liiiitle bit faster in theory.

Monkey: All reported display list crashes have been fixed :) You haven't reported your problems (well, you may have mentioned them on IRC, but they're easily ignored/forgotten then). Do you have debugging capabilities (an installed compiler and debugger should do, or running Linux)? If yes, we can try to locate your crash. If no, just send the lines with GL_EXTENSIONS, GL_REDERER, GL_VERSION and GL_VENDOR from your user.cfg, and we'll put your hardware on a display list blacklist.

freako
Core Dumper
Posts: 130
Joined: Wed Jan 23, 2008 10:53 pm

Post by freako »

Screen Mode:

Color depth: 16 bit
Z buffer Depth: 16 bit
Apple Changes

The other settings don't really matter

Preferences:

Sparks: off
Explosion: off
Sky movement: off
Show fps: On
Lower Sky: off
Upper Sky: off
High Rim: off
Hub Options: Turn off all the things you don't use/need

Detail Settings:

Font: Bilinear
Object textures: Bilinear
Wall Textures: Bilinear
Floor Textures: off
TrueColor Textures: On
Smooth Shading: on (can turn this off too if you want)
Alpha Blending: off
Floor Detail: No Floor
Dithering: off
Floor Mirror: off

Performance Tweaks:

Swap Mode: Flush
Infinity: off
Display Lists: create and call
I've got a rather odd question does 0.3 really use much more resources then 0.2.8.2.1 ?

I used the settings that JJ posted on both the versions and this was the result.

0.2.8.2.1 = 184574 frames in 43.402 seconds: 4252.67 fps.
0.3 = 27146 frames in 43.8124 seconds: 619.597 fps

the fps on 0.2.8.2.1 is almost 7 times the fps of 0.3 isn't that a bit strange?

Monkey
Match Winner
Posts: 725
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Post by Monkey »

Lucifer:

When JJ (Joe) talks about 200 FPS, he means his average FPS. In many servers, especially sumo, FPS can jump around a lot so having FPS set to just 15% over monitor refresh would be no good, a far bigger safety margin is needed. Mine fluctuates like mad (you must remember that people join and leave servers and what is going on in the server varies greatly) and if my FPS goes under my monitor refresh rate then my CPU seems to kick in to make up for it and it becomes very jerky. I will put a request for "vsync" to be added to 0.2.8 branch.

Yes some of the detail settings actually work better when higher than lower but (and correct me if I am wrong) detail "off" would be faster than any (I am not including performance tweaks in this).

Tank program:

Yes you are nuts. 30 FPS is nuts.

z-man:

I did report my display list issues, almost a month ago...
https://bugs.launchpad.net/armagetronad/+bug/245925

Yes I use Linux. I have not used debuggers on Linux yet but can learn so tell me what you want me to do.

Freako:

Yes the 0.3 branch uses more resources than the 0.2.8 branch. You can improve 0.3 FPS (maybe make a cockpit without a minimap if that is possible).
Playing since December 2006

User avatar
taco343
Average Program
Posts: 68
Joined: Thu Feb 01, 2007 11:41 pm
Location: Saint Louis MO
Contact:

Post by taco343 »

I found that using the 8 polygon cycle helped me get about 15-30 fps higher.

Once I tried to turn all of the settings down and to see how high I could get my fps, I hit about 1680.
Image

K-Yo
Round Winner
Posts: 203
Joined: Sun Jan 13, 2008 4:20 pm

Post by K-Yo »

man... what's the use of gettin 30 more fps to get up to 1680?

some information about that: http://www.100fps.com/how_many_frames_c ... ns_see.htm
K-Yo

epsy
Adjust Outside Corner Grinder
Posts: 2006
Joined: Tue Nov 07, 2006 6:02 pm
Location: paris
Contact:

Post by epsy »

how many frames can your monitor show?

User avatar
Jonathan
A Brave Victim
Posts: 3392
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

More performance stuff: http://forums.armagetronad.net/viewtopi ... 240#198240

epsy: Nearly 2 billion per year (watch out for the Y1 problem if you use 32-bit signed integers). But badly overdriving pipelines does tend to help latency a bit in practice. Would be nice if "could be in theory if implemented properly" would change to practice.
ˌɑrməˈɡɛˌtrɑn

User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

@Monkey:

I'd like to know what servers he plays on, then. I've kept my average fps around 60 for years with little trouble. 16 players on z-man's old fortress server, even with sparks enabled and everybody grinding, still only reduced me to 45 fps for the opening seconds of the round (I realize that's outside the 15% target, but you should also realize my 60 fps target is already lower than the 15% above framerate target).

When I moved on to 0.3.0, I found I needed to tweak a bit more and bump it up to 70 fps as my target because the drop was more severe (the minimap is responsible for most of that, iirc), but even with recent trunk builds I've still played fine on every server except CTF servers.

CTF servers are an exception for known reasons right now, when a round lasts until the death zone appears, I'll drop to about 5fps right near the end of the round.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

Post Reply