Bad lag due to static mesh dilemma

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

billy240clint@hotmail

|*BILLY$CLINT*|
Jan 21, 2006
54
0
0
Okay so I am making this coliesum and It has alot of details on it and lots of columns and seats, the whole nine yards. But I am having a problem when It comes to my FPS. It hits really low in some spots and makes the game really laggy. Now I have expermited with converting some into brushes and that seams to help out a bit but whats the best way to go about optimizing the meshes so that when you are on one level the level eitehr above or below dont render? can i put zone portals inside static meshe (i dont think that I can) any ideas/help would be great.

Thanks

Sam
 

billy240clint@hotmail

|*BILLY$CLINT*|
Jan 21, 2006
54
0
0
Okay thanks I will try that

THe whole thing weights in at 210,000 tris. But you are only seeing like 10,000 to 15,000 at a time and I know that unreal can handle that. But thnaks for all the help.

Sam
 

Kantham

Fool.
Sep 17, 2004
18,034
2
38
billy240clint@hotmail said:
THe whole thing weights in at 210,000 tris.

Try like, 10, 000 poly max, 210,000 Triangle is overkill. There is so many detail in the stade that you won't even focus on while playing the game, find a more efficient way to make it look like if there's seat all over the place using alpha textures.

We all know that the engine can handle a lot of poly but this is way too much, even if there's 15,000 triangle rendered at once, all the collision data and everything for the 190,000 other triangle is still there.
 
Last edited:

billy240clint@hotmail

|*BILLY$CLINT*|
Jan 21, 2006
54
0
0
Okay when you say use an alpha for the seat i am not sure what you mean by that. But the reason that there is so many tris is becasue this is meant for a single player game/ mod that I am doing for my final project so the player is going to have plenty of time to look at stuff, thats why all the detail, but your right i should probaly o\put less mesh detail and more texture detail. But please eliberate on the alpha for the seats this sounds intersting
 

Kantham

Fool.
Sep 17, 2004
18,034
2
38
You say you're making a Stadium? I don't know what the mesh looks like, but if you're saying that you are hitting 210,000 Triangles it's not good at all.

Since it's a huge place, like a foot ball stadium, and you made seat by seat (About 6 poly per seats) and there's like 100 of them, you could use a 2 poly sheet with a texture on it that display seats instead of having all these uselss polygons around.

Can't tell anything so far, you haven't posted screenshots of your meshe(s) so far.
Also, try to remove collision on meshes that you won't touch.
 
Last edited:

Valfaroth

New Member
May 5, 2006
12
0
0
Florida
From what I have read, if you build it in pieces and put it together in the editor you are better off


if you have a column that is 20 polys....and you duplicated it 100 times....it only holds one in memory....if you build 100 columns at 20 polys a piece and make them one object....then it keeps 2000 polys in memory.

Don't know which way you built it but I thought i would throw in what i read....
 

billy240clint@hotmail

|*BILLY$CLINT*|
Jan 21, 2006
54
0
0
Yeah I have it broken up into about 133 pecies the whole thing is not a static mesh but it is made up of indivalt static meshs. BUt Iwill psot some screen shots later on today. Thanks for that advice.

Sam
 

Hourences

New Member
Aug 29, 2000
5,050
0
0
40
Belgium/Holland/Sweden
www.Hourences.com
Valfaroth said:
From what I have read, if you build it in pieces and put it together in the editor you are better off


if you have a column that is 20 polys....and you duplicated it 100 times....it only holds one in memory....if you build 100 columns at 20 polys a piece and make them one object....then it keeps 2000 polys in memory.

Don't know which way you built it but I thought i would throw in what i read....

While that is true the story is much more complex than just that. Someone picked up that info a few years ago when the tech was released but never gave people the full explanation.
Adding 20 seperate pillars will in fact have a perfomance penalty of at least 200-300 percent in most cases compared to having just 1 mesh that contains 20 pillars.
Theres more to a pc than memory. Splitting it in a single pillar and re using it will save memory (altho little since one mesh only takes up a few dozen KB at max most of the times) but it will eat cpu because the cpu and gpu will need to draw more objects.
Thats worse for your fps than what you gain out of optimizing stuff for the memory.
Every object you place requires the engine to do an extra draw call. Every material on a mesh is a draw call. Every material on every pillar is a draw call. 1 pillar with 3 different textures will be splitted in to three sections before being renderend.
Three times the same pillars means 9 sections to renders which is considerable slower than attaching the three pillars in 1 object. That would result in just 3 sections to render but a higher polycount as it wont be able to cull out the other pillars you dont see anymore. And so on.

Its a lot of balancing out. Theres no definite answer or quick solution as it depends strongly on the situation.

The amount of sections it has to draw is worse than the polycount fps wise. I can make 25 000 poly run like crap while a 500 000 poly building might run real fast.

I think Im going to write a tutorial on that somewhere in the summer. So many people overlook that or are misinformed.
 

Valfaroth

New Member
May 5, 2006
12
0
0
Florida
I would be very interested in reading that...thanks for clearing that up a bit more....in the situation with the arena is it better to do it in pieces or in one big chunk? (how bout in a catwalk situation? (that's what I'm personally working on)...is it worth it to build little chunks and duplicate them? or just convert the whole damn thing to one static mesh?)
 

Hourences

New Member
Aug 29, 2000
5,050
0
0
40
Belgium/Holland/Sweden
www.Hourences.com
I dont know his situation and how the mesh looks or how it is made. In any way 1 single object wont work.
it would prolly be best to make a main arena mesh which is pretty low poly like a few thousand and split that mesh in to 4 or 8 parts as optimization (you dont want it to always render the entire arena, including the elements behind you) and then add seperate meshes for specific meshes around like the big arena lights.
Any stuff like chairs should be grouped in to large groups and then be placed around. So a single mesh that contains 50 (or whatever number, more than 1 or two anyway) chairs and copy that one over to fill it up.

Catwalk= depends on rest of the room and how much you intend to re use the catwalk. If it are modular pieces you better keep them seperated, that also helps your workflow. If the area already uises 4000 textures you better re use as many small meshes as possible. However if the memory use is light and if the polycount or sector count is high in the area you better attach it in to 1 mesh.

If you dont know or if neither are really heavy on the system do what is easiest for you to build and work with.
 

billy240clint@hotmail

|*BILLY$CLINT*|
Jan 21, 2006
54
0
0
Wow i have to say I am very impressed thanks for all the help. You all have really cleared up some thins for me.

Okay I am going to clear some things up here about what I am building. I am making a roman style colesumn melee fighting game. So all objects are stone like and fairly simple

As for making the calls to memory I took that into consideration when I made the thing so I do have items in attached and some items as indiviuals items. But to save me some more memory I do this thing called texture palleting. Basicly its taking all the textures you need putting them on a 1024 x 1024 pallet and then haveing all your objects call their textures from that textures. NOw ovisbly you cant have all the level textures like this but It was one thing that I was going to do to save memory. Also I have converted some parts to brushes and my frame rate went back up to 45.

I am still trying to optmize as I go, look for the best way to skin this cat and all your ideas have been really helpful

Thanks alot

Sam