High poly performance tests

Discussions about UT99
Torax
Adept
Posts: 406
Joined: Fri Apr 20, 2012 6:38 pm
Personal rank: Master of Coop
Location: Odessa, Ukraine

High poly performance tests

Post by Torax »

I decided to check out drop of performance while using some amount of high poly models. Test is pretty simple - i created geosphere with >5000 poly count and added nearly 10 textured copies of it into level CTF_LavaGiant with different size - few were large and others smaller. Result was interesting...no any crashes, errors or even slowdowns. Fps counter also didnt fixed heavy drops, its number fell from 65 fps not lower than 64-63 fps and in heavy battle not lower than 60-59 fps. I was a bit confused with this result reminding that comfortable poly count as i heard before is about 1500-2000 polys. My PC configuration - Windows XP, AMD Athlon 64 X2 Dual core 5200+ 2.61 GHz with 2 gigs of memory. And in GEFORCE 9800 GT with around 1Gb of memory. Ut uses d3d9 render device.
I want to go deeper in performance question. Maybe today computers can help this engine render more than 2000 poly limit models? I need to apply more tests...
Unreal. Alter your reality..forever...
User avatar
Feralidragon
Godlike
Posts: 5493
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: High poly performance tests

Post by Feralidragon »

What's the LOD level you're applying to those meshes in-game? It's easy to get a good performance out of 2.000, 5.000 and even 10.000 poly meshes if their LOD is low, which makes them render only a fraction of those polys instead, hence the good performance.
For greater performance tests, in your imports, instead of doing just this:

Code: Select all

#exec MESH IMPORT MESH=MyMesh ANIVFILE=MODELS\MyMesh_a.3d DATAFILE=MODELS\MyMesh_d.3d X=0 Y=0 Z=0
#exec MESH ORIGIN MESH=MyMesh X=0 Y=0 Z=0
Define the LOD STRENGTH and set it to 0.0 so it never reduces the amount of detail ever, like:

Code: Select all

#exec MESH IMPORT MESH=MyMesh ANIVFILE=MODELS\MyMesh_a.3d DATAFILE=MODELS\MyMesh_d.3d X=0 Y=0 Z=0
#exec MESH LODPARAMS MESH=MyMesh STRENGTH=0
#exec MESH ORIGIN MESH=MyMesh X=0 Y=0 Z=0
And repeat the tests. And I am pretty sure you will get a FPS impact now.
Also, the reason I say to limit to 2.000 (and even with this value you have to adjust LOD levels for performance), is that at times you won't only see 1 nor 10 of them, but more than those.
Adding to that, you have lighting to consider, zones, and other objects being rendered at the same time which directly impacts the overall performance: the more vertexes you have in a mesh, more lighting calculations have to occur (unless the mesh actor has bUnlit=True), and lighting is slower to calculate than rendering the mesh itself, even more when you have more than 1 source of light as it often happens in any UT map (no one lights up a map with just 1 or 2 lights).
Torax
Adept
Posts: 406
Joined: Fri Apr 20, 2012 6:38 pm
Personal rank: Master of Coop
Location: Odessa, Ukraine

Re: High poly performance tests

Post by Torax »

Well i had thoughts about all of this. More tests will show more

EDIT: I did everything that Ferali told about importing parameters. Result - nothing changed. No fps drops, all the same
Unreal. Alter your reality..forever...
User avatar
Feralidragon
Godlike
Posts: 5493
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: High poly performance tests

Post by Feralidragon »

Well, some machines will handle polys better than others. This may be a dumb question, but did you actually have those 10 models all in view at the same time? Or were they scattered around the map?
Torax
Adept
Posts: 406
Joined: Fri Apr 20, 2012 6:38 pm
Personal rank: Master of Coop
Location: Odessa, Ukraine

Re: High poly performance tests

Post by Torax »

They were visible all in same time. I played with their size, set different textures...but nothing made fp s to decrease. Even when i put 20 spheres. Maybe all things are in D3d9?
Unreal. Alter your reality..forever...
User avatar
Feralidragon
Godlike
Posts: 5493
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: High poly performance tests

Post by Feralidragon »

That's strange. Tell me something: do those models have bUnlit=True?
Perhaps the best thing is if you posted the actual package with those models so I and others could run the same tests to check that up. I also use d3d9 and I have an i7 CPU, 6Gb RAM, nVidia 540M (1Gb), etc, etc, yet the game starts to lag if I see at least 10~15 2.000+ polys actors at the same time on max detail (hence controlling their LOD levels in realtime to provide the best quality-performance I can give).
Yet, I can run games like Crysis and BLR (which both push a damn lot of all ends) and I have no issues.

Have you patched your UT with a CPU fix or so? It could be related.
Torax
Adept
Posts: 406
Joined: Fri Apr 20, 2012 6:38 pm
Personal rank: Master of Coop
Location: Odessa, Ukraine

Re: High poly performance tests

Post by Torax »

Models are not set to bUnlit=True. And i didn't install any CPU fixes. I searched for them long time ago but didnt find anything needed.
I prepared ton of screenshots. I cutted them a bit because when adding to forum it cuts the most important things. Used Fraps to monitor FPS and MiklkShape to create model.

Here's the screen of sphere how it looks like in editor. Just to let you know that i'm not kidding. bUnlit=False, bMeshEnviroMap=True but it's no matter - i checked both with True and False.
Image

Next screenshot is ingame. Number in upper left corner - fps monitor.
Image

This is about ten same spheres at once. Screen from editor.
Image

And here's the ingame screenshot with those ten models. Getting some performance drop but it's inconsiderable.
Image

In closest time i will make tests with animated high-poly models, cause it gives the larger drop of performance, and maybe should test with multiple mesh groups to see how it will act with more than one texture.
Unreal. Alter your reality..forever...
User avatar
Feralidragon
Godlike
Posts: 5493
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: High poly performance tests

Post by Feralidragon »

So you do get performance drops. Well, 43fps without a bot-match occurring is already a slight fps hit imo (considering that the game is pretty much 15 years old), it can get laggy pretty quickly.
Well, as far as textures go, they shouldn't make much of a difference by themselves, although the bigger the resolution, the slower the lighting calculations afaik.
Of course, a lot of these things depend on the PC itself, drivers and whatnot. For instance, transparent particles can be easily handled by some graphic cards, while for others is a lag nightmare, and generally it has nothing to do if the card is old or new, the drivers make most of the difference.

Anyway, interesting stuff, keep up with the testing. :)
Torax
Adept
Posts: 406
Joined: Fri Apr 20, 2012 6:38 pm
Personal rank: Master of Coop
Location: Odessa, Ukraine

Re: High poly performance tests

Post by Torax »

Well i found dependence between FPS and framelimit option in D3d9 options. Maybe this is obvious thing but i founded it accidentally for myself.
If there will be possible to make a script that increases framelimit when lag occurs, i think it will be possible to use more hi-poly models. Cause when i set framelimit to higher values than 50-60, as result, i noticed that game accidentally increase it's speed, and FPS rise up to 100 and more.

Sure it's all depending on your graphics card mostly as i think - if it can't give more than 45 FPS on DM_Deck16 without bots (for example as i tried to play a bit with settings on my work PC which is less powerful than my home one), you will never reach point of 60-70 FPS

*EDIT*
But imagine, Ferali how many polys are rendered at once ^^
10 models, 5000+ polys, and so smal performance drop. I think it's amazing for 15 years old engine to have with all this 43-50 FPS.


*EDIT2*
Here's the model i used, try it out who wants. Just add it to any map and save it, than run the game and watch results. Model is under Actor class, polytest.polytest. Also summonable in game.
Attachments
polytest.u
(372.99 KiB) Downloaded 136 times
Unreal. Alter your reality..forever...
Torax
Adept
Posts: 406
Joined: Fri Apr 20, 2012 6:38 pm
Personal rank: Master of Coop
Location: Odessa, Ukraine

Re: High poly performance tests

Post by Torax »

Okay guys. Yesterday i did an extreme "crash test" for UT renderer.
Look at the screenshot from MS3d. Mainly to "Triangles" count at "Model Statistics" window.
Image

This is complete animated model, which was made from 5 hi-poly geospheres. You can see only three because i accidentally duplicated one of smaller spheres twice. As i found later. But this test became even better with this mistake.
Then i animated this model. The animation is that smaller spheres rotating around larger one. Then i port it into UT, with LOD STRENGTH = 0 (yes, this is true "nightmare high poly test" :twisted: ) and looped animation.

And you know what? I had played around in a botmatch with 16 bots on level CTF_LavaGiant normally, game didn't crashed, or lag as hell. Yes, there was a performance drop, not small - about to 25-15 FPS. But i reached this FPS level only when looked directly to this hi-poly model, which was in looping animation state, when i played with bots around it all was great - 45-50 FPS. And also it was textured, with bUnlit=False. Only one thing was wrong - i did a mistake somewhere while animating, so when model animating it fucks all vertex positions. But that's my fail.

This test proved me that UEngine 1 is still some kickass engine) even for such high polygonal models :rock:
Unreal. Alter your reality..forever...
User avatar
Creavion
Godlike
Posts: 4497
Joined: Sun Feb 17, 2008 7:23 pm
Personal rank: About to be non-act.
Location: Germany, Lower Saxony

Re: High poly performance tests

Post by Creavion »

Torax wrote:This test proved me that UEngine 1 is still some kickass engine) even for such high polygonal models :rock:
scumbagUEngine1.jpg
About to be non-active
My very last UT map project: CTF-FacePalm (tropical CTF-Face remake)
Why do I leave? click here
What I want to do next: Joining an UDK team (uncertain however) and improve 3D modelling and texture editing skills
Thanks to those who visibly supported me until/at the end!
My reactivated account on indiedb.com.
User avatar
papercoffee
Godlike
Posts: 10448
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.
Contact:

Re: High poly performance tests

Post by papercoffee »

If you try to make a detailed terrain (BSP not mesh) ...will UT suffer a performance drop so deep and strong that you'll split the earth core.

EDIT------------------------------
Where is the post of Torax ?? ...My post is now useless. :ironic2:
Torax
Adept
Posts: 406
Joined: Fri Apr 20, 2012 6:38 pm
Personal rank: Master of Coop
Location: Odessa, Ukraine

Re: High poly performance tests

Post by Torax »

Sorry:) i'd understand that Creavion meaned map making and found my post useless. About this thing...if only Shadow had full UT source, maybe that helped to make game more better..as creators of Unreal 227i patch have..
Unreal. Alter your reality..forever...
User avatar
Creavion
Godlike
Posts: 4497
Joined: Sun Feb 17, 2008 7:23 pm
Personal rank: About to be non-act.
Location: Germany, Lower Saxony

Re: High poly performance tests

Post by Creavion »

Torax wrote:Sorry:) i'd understand that Creavion meande map making and found my post useless.
I did not make fun of you, but rather from the engine.
About to be non-active
My very last UT map project: CTF-FacePalm (tropical CTF-Face remake)
Why do I leave? click here
What I want to do next: Joining an UDK team (uncertain however) and improve 3D modelling and texture editing skills
Thanks to those who visibly supported me until/at the end!
My reactivated account on indiedb.com.
Torax
Adept
Posts: 406
Joined: Fri Apr 20, 2012 6:38 pm
Personal rank: Master of Coop
Location: Odessa, Ukraine

Re: High poly performance tests

Post by Torax »

I didnt think about this;) i mean that i found my post useless when understand your post. About all those tests..i starting to find them useless. It was just my work related to modelling, that i decided to post here. Maybe this work is just time burning, and nobody will use this information...
Unreal. Alter your reality..forever...
Post Reply