Small poly test

Discussions about UT99
User avatar
Feralidragon
Godlike
Posts: 5493
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Small poly test

Post by Feralidragon »

So, I'm in the process of studying some deeper aspects of the engine, and I would like you guys to do a small test for me if you will (it takes just a minute):
- start up Fraps or some other reliable FPS counter
- start UT in CTF-Face
- remove all bots (command: killall bot )
- type in the console: stat mesh
- while not moving and while facing any wall, spawn several weapons in the same spot (for example, write in the console: spawn warheadlauncher, and for the following times you can just open the console and press the Up arrow key to get the last command and reapply it). For a faster test, if you have NW3 installed, you can try "spawn nwultimaprotosv3.ultimaprotos" since it has a bit over 2.000 polys, making the test quicker.
- once your FPS takes a hit (let's say you're normally having 60FPS, once it lowers that value, even if to 58fps), stop and take note of the "meshpolycount" value in the top left part of the screen (where the mesh statistics are being rendered), and post it here (along with how many FPS you normally have, for reference). The meshpolycount value doesn't have to be precise, so if it sits in 32.503 for example, posting "about 32.000" will suffice.

In my case for instance, I have normally 60fps, but they take a small hit once the game renders over 30.000 polys in the case of my nVidia card and only over 16.000 in case of the Intel one, and I'm curious to know how many you guys are able to render without taking a hit in performance.

It would be greatly appreciated, and thanks in advance. :)

EDIT: Your system specs would be nice too. :)
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: Small poly test

Post by Higor »

Pentium E2180 @ 2.00GHZ
Radeon 3650 256mb GDDR3 - OpenGL 2.9 Renderer, windowed mode.
Windows XP 64 bit.
Resolution: 1350 x 1021.

59fps at 18300 polys in CTF-Face.
59fps at 4500 polys in DownTownBeta

A small detail, MeshPolyCount leaves out of the count those polygons facing away from the player, and away from screen borders... that doesn't mean they're not being passed onto the renderer.
Meaning that, there's 36600 polys sent to renderer in CTF-Face, and around 6000 in DownTown (meshes are only detailed on visible parts).

Also, pushing the mesh rendering to 59 fps makes other operations have a more visible impact on FPS...
Spawn the warheads, let it go to 59 fps... then press escape, see how FPS drops to 57, keep opening windows, it drops even more.



================
Unreal 227i
Map: GothicZen.
Resolution: 1024*768 (not much different in higher res)
Contains huge amounts of static meshes, with polycounts over 20k.

Visible MeshPolyCount ranges 6k - 25k fps stable at 30 (assuming over 40k due to previously stated criteria), making it clearer that meshes are drawn as a bundle when passed to the renderer.
The way to optimize this is to reduce the amounts of total polys sent to the renderer before it attempts to draw.
- On terrain meshes, split terrain in sections and apply special hiding criterias (as done in GothicZen to reduce 200k -> 50k in render list).
- On decoration meshes, reduce individual polycount, then reduce meshcount if you can keep polycount the same (near distance).

Edited for more info
User avatar
Feralidragon
Godlike
Posts: 5493
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: Small poly test

Post by Feralidragon »

Thanks Higor :tu:

And yeah, when the game goes down to 59fps it starts to affect everything, since at that point the engine has not the luxury to waste even 1 extra cpu clock since the engine is running in a single thread and thus anything that slows down that thread this much will slow down everything else in the chain.

In my tests, it seems that the render choice is irrelevant for the outcome of these values (so the limits are pretty much the same for D3D9 and OpenGL for example), which would suggest that the bottleneck is before they are passed to the rendering device, if it wasn't the fact that when using the integrated Intel GPU in my i7 it slows down at a much lower polycount relative the dedicated nVidia card I have, which means that the bottleneck is already in the side of the GPU itself (I am testing in a laptop with that feature of being able to switch between integrated and dedicated GPU on the fly, which means that everything else in the system remains exactly the same providing a near perfect testing condition to check this sort of thing).
Either that, or perhaps when passing to the render, the overhead of the process of passing it to the dedicated or the the integrated are the ones bottlenecking it.

But this actually baffles me in a way, since my dedicated GPU is able to render a much higher amount of polys than that everywhere else... I would understand if it was the CPU bottlenecking it, and this was mostly my understanding of how the engine worked so far, as in UT2004 for instance, it has no problems in rendering dozens of thousands of polys, as the UEngine2 render was completely rewritten to use the GPU as much as it possibly could.

One of the things I wanted to check and figure out is if it's possible at all to speed up the rendering in one way or another and discovering the exact spot(s) it bottlenecks at (either by further optimizing it or multi-threading it (map-reduce?) or both), thus this topic to have a general idea of hardware vs max visible poly count (given that in my tests the graphic card used made a great difference, unlike I expected at first).
player
Novice
Posts: 17
Joined: Fri Mar 21, 2008 3:15 am

Re: Small poly test

Post by player »

i know nothing regarding 3D modeling / mapping.. but here's for your reference
system spec: Windows XP, Pentium(R) Dual-Core @ 2.60GHz, Intel(R) GMA 3100, D3D9 full screen mode 1366 x 768
ctf-face, facing wall, paused, FPS dropped to 30 from 60 after repeatingly summoning ... reaching polycount of around ...
- warheadlauncher, 10000
- ripper, 7500
- unreali.book, 4500
(i have removed all summoned item b4 testing on another type)

i found that when the pickup are left rotating, drop in FPS is inconsistent and occured later (ie. after further summoning and increase in polycount), so i decided to pause the game b4 summoning.
Last edited by player on Sun Feb 02, 2014 5:32 pm, edited 1 time in total.
DeathoX 8
Experienced
Posts: 109
Joined: Sun Mar 27, 2011 12:56 pm

Re: Small poly test

Post by DeathoX 8 »

Meshcount = 37
MeshPolyCount = 11757

Specs: Intel Q6600 Quad Core @2.4 Ghz, Windows Vista 32 bit, ATI Radeon HD 2400 (128 MB dedicated)

I'm not sure if these can be useful as I have uncapped FPS (when I start the game it's about 120 FPS), so instead of using the value when the FPS took a dip (which would otherwise be when I spawned the first mesh) I instead used the value where FPS went below 60 FPS.

I'm using OpenGL with a 1360x768 resolution, an archaic version of FRAPS, and I used the UltimaProtos spawn.
Torax
Adept
Posts: 406
Joined: Fri Apr 20, 2012 6:38 pm
Personal rank: Master of Coop
Location: Odessa, Ukraine

Re: Small poly test

Post by Torax »

Would look at this when sit near my home PC.
But what are you searching with this test?
I remember i was researching with maximum of polygons that UEngine ables to render..even a post somewhere...
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: Small poly test

Post by Feralidragon »

Thanks for your data guys.

@Torax: What I am searching is the average of meshpolycount people can render without major FPS losses, along with the relationship of hardware vs polys (what influences more: better CPU or GPU, given the archaic architecture of the engine) and maybe as a bonus getting some insight from veteran native coders which may have some valuable input to give in the matter (like Higor did in his post, which I appreciated a lot, thanks :tu: ).

I plan to do so some "wacky" things when it comes to both textures and meshes for my next project, and I wanted to check the engine true limitations and identify where the bottlenecks are to perhaps be able to circumvent them or fix them in some way (unlikely without the source perhaps, but I want to take my chances in at least a couple of things), and do it without having to mess with the render devices themselves if possible (otherwise whenever there's a new updated render, it would either break with my stuff or I would have to update it myself with my code or I wouldn't be able to do anything at all if the author didn't allow me to, to not mention that even if I was free to update it, any bug fixes from the original author would have to be replicated to my own version of it, so it's just not maintainable for me in the future, and thus that direction would kill the entire project even before it started).
And even if I cannot circumvent them, I can at least take those into consideration with a lot more info when doing my next project.

Meshes are perhaps the thing that annoy me the most in UEngine1 given that they are too slow there compared to other engines and considering the GPUs we all have nowadays (even old ones), and I want to do something about it if possible at all.
Torax
Adept
Posts: 406
Joined: Fri Apr 20, 2012 6:38 pm
Personal rank: Master of Coop
Location: Odessa, Ukraine

Re: Small poly test

Post by Torax »

Here's results from my home PC. And i think they're strange a bit.

My PC configuration:
Processor: Win XP SP3, AMD Athlon 64 X2 Dual 5200+, 2.61 GGhz.
Memory: 2 Gb RAM.
Video Card: NVidia GeForce 9800 GT "Green Edition", 1 Gb RAM.

CTF-Face.
Standing in front of wall without any stuff on the screen (used command "killall enforcer" to make screen clear) gives around 150-170 FPS.
Spawned an UltimaProtos - meshpolycount floats around 1000-1100 polys.
Continue test. Spawning more of ultima protos.
To drop performance from 150 FPS down to 55-60, i needed to spawn 17 guns. Meshpolycount is around 17500.

To drop performance extremely (down to 10 FPS) i was needed to spawn 97 guns. Meshcount equal 288, meshpolycont - 103500. And after some number (30-40 FPS), the whole FPS starts to go down slower (founded it when spawning guns).
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: Small poly test

Post by Feralidragon »

Hmm, so am I the only one that can have a meshpolycount up to 30.000 without any FPS loss?
So basically, anyone with a PC with a couple of years already can only render up to 20.000, interesting...

Here's my setup:
- Windows 7 HP
- CPU: Intel i7 1.8GHz (3.2GHz turbo, I don't remember the exact model)
- RAM: 6Gb
- GCard: nVidia GeForce GT 540M (1Gb)

Is there anyone out there with a similar or superior setup who can provide his/her stats on this please? The more data on different systems I have, the more likely a clear pattern will emerge on the true limitations of the engine and what can be possibly be done with it.
Thanks for everyone who contributed so far :tu:
Pileyrei
Masterful
Posts: 745
Joined: Tue May 05, 2009 3:10 pm
Personal rank: UT Survivor

Re: Small poly test

Post by Pileyrei »

Windows 7
8GB Ram
NVidia GeForce GT430 (cheap vid card!)

Started Face with no bots.
Faced the wall in front of you as you go into a base.
Fraps around 60fps
Poly count around 180
Spawned an ultimaprotos: jumped to 1195
Spanwed another and it went above 2000.

I ended up spawning around 10 without moving, just facing the wall.
Each time the ploy count jumped over a thousand. ended up just over 11,000.

Frap FPS didn't seem to move around too much. It did start to drop to around 40FPS after I had over 8 nukes.

Hope this helps.

Piley
Image

Our Server
Image

[donate][/donate]
Donate to UT99.org!
rsbloom44
Experienced
Posts: 124
Joined: Mon Jan 30, 2012 9:46 am

Re: Small poly test

Post by rsbloom44 »

Meshcount = 50
MeshPolyCount = 10800

I just spawned warheadlaunchers while facing the wall in face. I cap my fps at 150, but according to the fps counter it's a steady 169. It takes about 50 spawns for my fps to dip below 169.

i5 750
ATI radeon 5770
4gb ram
User avatar
Feralidragon
Godlike
Posts: 5493
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: Small poly test

Post by Feralidragon »

Thanks for providing your stats on this, it's really useful (more than what people may imagine). :tu:
User avatar
Chamberly
Godlike
Posts: 1963
Joined: Sat Sep 17, 2011 4:32 pm
Personal rank: Dame. Vandora
Location: TN, USA
Contact:

Re: Small poly test

Post by Chamberly »

I'll post some recording if that's good? I'm going to record on 2 different machines I have.

PC spec.
CPU Type: DualCore AMD Athlon 64 X2, 1900 MHz (9.5 x 200) 3600+
Graphic card: ATI Radeon HD 4600 Series (1024 MB)
Ram: 4 GB

Laptop spec.
CPU Type: Intel(R) Pentium(R) CPU P6200 @ 2.13GHz
Graphic card: Intel HD Graphic 1696 MB
Ram: 4 GB

Videos will be uploaded Soon. Have forgotten to bring my laptop to upload the videos.

However, my FPS start pretty high, and it just kept going down low... so it's kinda confusing. Shall I post my .ini?
Last edited by Chamberly on Sun Feb 09, 2014 1:07 pm, edited 1 time in total.
User avatar
Feralidragon
Godlike
Posts: 5493
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: Small poly test

Post by Feralidragon »

It's cool by me. I only need the mesh stats, but seeing the testing can also provide some good info to check if the methodology of testing is the same as mine, since I find it very odd that my system was the only one so far being able to render 30.000 polys (UltimaProtos and WarHeadLauncher, independently of the render) without dropping fps.

Either I made a better buy than what I assumed back then when I got this laptop, or my install has some sort of tweak which I either forgot or did by accident which already makes the rendering faster.
I will also have to test with a clean install later on, and this sounds too odd...

Thanks :tu:
User avatar
papercoffee
Godlike
Posts: 10447
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.
Contact:

Re: Small poly test

Post by papercoffee »

Feralidragon wrote:It's cool by me. I only need the mesh stats, but seeing the testing can also provide some good info to check if the methodology of testing is the same as mine, since I find it very odd that my system was the only one so far being able to render 30.000 polys (UltimaProtos and WarHeadLauncher, independently of the render) without dropping fps.

Either I made a better buy than what I assumed back then when I got this laptop, or my install has some sort of tweak which I either forgot or did by accident which already makes the rendering faster.
I will also have to test with a clean install later on, and this sounds too odd...

Thanks :tu:
And now do you have my interest ...what laptop model ...how much did it cost ...is the screen Gamut-RGB or sRGB?
Post Reply