Performance tests

Performance tests

Postby Skorpio » 09 Nov 2010, 14:03

I'm posting this since Andrew mentioned the performance in the Ghoul thread and because I think we should stick to the 1000 polys limit.

I get a frame rate of 25+ fps for triangle counts up to 30.000 when the game is stopped and with moving creatures the rate is over 25 till about 21.000 tris. However, I'm not sure how much the frame rate is influenced by the texture sizes. Currently most creatures have 1024*1024px textures and some even 2048x2048, which we'll probably have to scale down in the future to get a better performance.

I have an Athlon 3000, a Radeon HD 2600 Pro video card and 2GB RAM.

Hmm, I just noticed a pretty empty region of the testmap where I get less than 20 fps with only about 10k tris. Maybe that has to do with the texture sizes or the lights, but the size of the dirt and rock textures is only 512*512.

BTW scrolling over the map in the newest version of OD is a lot more unwieldy than in the old one. The last version was much more responsive.

And now that we talk about performance, I've always wondered why dropping the creatures is so slow. The game freezes for about a second when I drop creatures. That really needs to be improved.

PS: Wasn't sure where to post this.
User avatar
Skorpio
OD Moderator
 
Posts: 775
Joined: 05 Dec 2009, 18:28

Re: Performance tests

Postby andrewbuck » 09 Nov 2010, 15:27

The forum for this post is probably fine, I don't know where else I would put it.

Remember when you are doing your fps testing that the fps terminal command sets the max framerate, it defaults to 30 I think.

The pause when you drop creatures is due to a semaphore waiting for a resource to be released. I don't really think it is necessary and will try taking it out. It is a relic from the bug where creatures used to disappear randomly and I added that semaphore to try to fix that bug, the bug was from another source though so I think the semaphore can be removed now.

All in all, the thousand poly limit is probably about right but my point in the other thread was it is really a guideline not a hard rule. The specs on your computer are relatively slow and by the time we get the game to a state where we will have lots of users technology will have been improved even more. Also, there are a few tricks I could implement to cut down the polycount from the level quite a bit. For example, every 2x2 area of the same tiles (which is probably 60% of the total level space) can be replaced by a single instance of that single tile that we manually make in the level file. This results in a 4 to 1 cut in the number of polys (maybe more since you can maybe even cut out some walls on the bigger tile that you couldn't on the smaller ones. On 3x3 groups (which are less likely to be found) The reduction could be 9 to 1. From the default zoom hight and camera perspective I think there is something like 15 - 20 thousand polys just from the level (no creatures or rooms). So a 50% reduction on that would let us have another 10 thousand or so to devote to creatures.

-Buck
andrewbuck
OD Moderator
 
Posts: 563
Joined: 20 Dec 2009, 01:42

Re: Performance tests

Postby svenskmand » 09 Nov 2010, 16:02

If you have a binary with the exact tests you run I could try it out, I have a fairly new computer (but it was still cheap around 1100 USD) it is a AMD Phenom II X4 920, with 4 GiB ram and a Geforce GTS 250 1GiB. Which would probably be low end hardware at the time the game is complete. Also remember to take into account that drivers might have slowed the game down considerbly under linux compared to a windows build.
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Performance tests

Postby andrewbuck » 09 Nov 2010, 16:05

My test results are as follows. Parameters are: AMD X64 Athlon 4800+ Video is ATI HD 4550 Resoultion 1680x1050 fullscreen mode Framerate is limited to 200 frames per second.

Polys Framerate Description
7422 65 Default scene, camera has not moved at all.
12600 30 Move straight "up" using the Q key (zoom out).
25000 12.5 Move south a bit.
35000 7.5 Move farther south and tilt the camera up with the Home key.

So it seems like the dropoff is pretty pronounced at higher polygon counts, however it should be noted that in order to get the higher polycounts I had to include more lights in the area that could be seen. This may be affecting it quite a bit. Commenting out the lights in the level file seems to about double the framerate at every polycount, although I have not investigated it very closely. The default light radius is 50, I turned mine down to 18 and it looked the same, it did improve the FPS but not by more than 10% or so, although the effect is probably more pronounced at higher polycounts. Finally, all this is done without the AI running although that should pretty much all happen in its own thread anyway.

Edit: It should also be noted that I am running at 1680x1050 resolution for these test which is pretty high by many standards. I have added it to the above specs as well so the posts will be easier to compare in the future.

Edit2: I am not using antialiasing, the other options aren't available on my ogre panel. The graphics driver is OpenGL.

-Buck
andrewbuck
OD Moderator
 
Posts: 563
Joined: 20 Dec 2009, 01:42

Re: Performance tests

Postby svenskmand » 09 Nov 2010, 16:08

Which resolutions did you use? Did you use AA? Which filtering: bilinear, trilinear, ...?
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Performance tests

Postby svenskmand » 09 Nov 2010, 16:13

Just to compare to commercial games. I can run Unreal Tournament 3, StarCraft 2, Half-Life 2 and other new games at 1920x1080 with at least 60 fps all the time (I always have vsync on, so I cannot detect if it goes higher, but it definitely does at some points).
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Performance tests

Postby oln » 09 Nov 2010, 17:26

IMO, performance shouldn't be too much of a worry at this point, though the creature dropping is quite annoying. Maybe we should use 60 as default maximum framerate as well, this is what most games use, 30 fps is not very smooth.

Also, I don't think the default build settings specify optimisation levels for GCC (atleast not for me), which can also make a difference. At some point we should probably do some profiling as well, to see where the biggest performance hits are.
User avatar
oln
 
Posts: 1020
Joined: 26 Oct 2010, 22:16
Location: Norway

Re: Performance tests

Postby andrewbuck » 09 Nov 2010, 18:02

I just committed a patch which fixes the creature dropping issue. The problem was the semaphore, removing it fixes the problem.
andrewbuck
OD Moderator
 
Posts: 563
Joined: 20 Dec 2009, 01:42

Who is online

Users browsing this forum: No registered users and 1 guest

cron