High poly performance tests
-
- Adept
- Posts: 406
- Joined: Fri Apr 20, 2012 6:38 pm
- Personal rank: Master of Coop
- Location: Odessa, Ukraine
High poly performance tests
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...
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...
- Feralidragon
- Godlike
- Posts: 5493
- Joined: Wed Feb 27, 2008 6:24 pm
- Personal rank: Work In Progress
- Location: Liandri
Re: High poly performance tests
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:
Define the LOD STRENGTH and set it to 0.0 so it never reduces the amount of detail ever, like:
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).
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
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
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).
-
- Adept
- Posts: 406
- Joined: Fri Apr 20, 2012 6:38 pm
- Personal rank: Master of Coop
- Location: Odessa, Ukraine
Re: High poly performance tests
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
EDIT: I did everything that Ferali told about importing parameters. Result - nothing changed. No fps drops, all the same
Unreal. Alter your reality..forever...
- Feralidragon
- Godlike
- Posts: 5493
- Joined: Wed Feb 27, 2008 6:24 pm
- Personal rank: Work In Progress
- Location: Liandri
Re: High poly performance tests
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?
-
- Adept
- Posts: 406
- Joined: Fri Apr 20, 2012 6:38 pm
- Personal rank: Master of Coop
- Location: Odessa, Ukraine
Re: High poly performance tests
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...
- Feralidragon
- Godlike
- Posts: 5493
- Joined: Wed Feb 27, 2008 6:24 pm
- Personal rank: Work In Progress
- Location: Liandri
Re: High poly performance tests
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.
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.
-
- Adept
- Posts: 406
- Joined: Fri Apr 20, 2012 6:38 pm
- Personal rank: Master of Coop
- Location: Odessa, Ukraine
Re: High poly performance tests
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.
Next screenshot is ingame. Number in upper left corner - fps monitor.
This is about ten same spheres at once. Screen from editor.
And here's the ingame screenshot with those ten models. Getting some performance drop but it's inconsiderable.
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.
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.
Next screenshot is ingame. Number in upper left corner - fps monitor.
This is about ten same spheres at once. Screen from editor.
And here's the ingame screenshot with those ten models. Getting some performance drop but it's inconsiderable.
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...
- Feralidragon
- Godlike
- Posts: 5493
- Joined: Wed Feb 27, 2008 6:24 pm
- Personal rank: Work In Progress
- Location: Liandri
Re: High poly performance tests
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.
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.
-
- Adept
- Posts: 406
- Joined: Fri Apr 20, 2012 6:38 pm
- Personal rank: Master of Coop
- Location: Odessa, Ukraine
Re: High poly performance tests
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.
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...
-
- Adept
- Posts: 406
- Joined: Fri Apr 20, 2012 6:38 pm
- Personal rank: Master of Coop
- Location: Odessa, Ukraine
Re: High poly performance tests
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.
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" ) 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
Look at the screenshot from MS3d. Mainly to "Triangles" count at "Model Statistics" window.
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" ) 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
Unreal. Alter your reality..forever...
- 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
Torax wrote:This test proved me that UEngine 1 is still some kickass engine) even for such high polygonal models
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.
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.
- 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
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.
EDIT------------------------------
Where is the post of Torax ?? ...My post is now useless.
-
- Adept
- Posts: 406
- Joined: Fri Apr 20, 2012 6:38 pm
- Personal rank: Master of Coop
- Location: Odessa, Ukraine
Re: High poly performance tests
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...
- 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
I did not make fun of you, but rather from the engine.Torax wrote:Sorry:) i'd understand that Creavion meande map making and found my post useless.
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.
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.
-
- Adept
- Posts: 406
- Joined: Fri Apr 20, 2012 6:38 pm
- Personal rank: Master of Coop
- Location: Odessa, Ukraine
Re: High poly performance tests
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...