Game Development Community

DTS Really effects frame rate

by Joe Sulewski · in Artist Corner · 01/20/2005 (10:44 am) · 20 replies

Hello,

I have about 60 DTS objects that I'm adding as TSStatic shapes. These are simple objects, windows, door frames, window frames etc. The frames have either 16 or 32 vertices per dts object. So I would figure that adding these objects to torque should have no noticeable impact on performance. But when I add them my mission drops from about 30-34 fps to about 16-18 fps. This is a huge drop with just 60 of these items.

I figure I must be doing something wrong with my models. What could I possibly be doing wrong?

Should the faces be made of quads or triangles? Does it matter?

In the mapTo tab what should be set?

Is there a problem using join meshes or should I not join meshes?

In the UV editor should I choose one of the sticky options? If so which one?

I can't imagine that having somewhere around 1950 to 2500 vertices would cause torque to have performance cut in half.

My system is a Dual G4 1ghz Mac with OS x 10.3.7 and an ATI Radeon 9000 card with 128 megs of ram. Although the driver for some reason only reports 64mb.

Thanks for any tips and pointers.

#1
01/20/2005 (5:13 pm)
It's not just the vertices. Each of those dts objects probably has a collision mesh that is added automatically. Not sure if that's good enough reason for the frame drop you mention, just adding my 2 cents.
#2
01/20/2005 (5:39 pm)
As long as you don't have collision on the models (NO AUTO COLLISION WITH TORQUE) They really shouldn't hit that bad. It might be the textures though. If you had the same texture on all of them it shouldn't be a problem but if each object has a texture of its own well then you could running up the texture memory. You didn't mention the textures so.....

Matt
#3
01/20/2005 (6:11 pm)
I'm glad you mentioned the texture thing. Most of them have the textures in the same directory but not all. How does Torque handle unique textures. By filename or by path and file name.

In other words, suppose I put the texture wood.jpg into game/data/shapes/frame and I put the same texture into game/data/shapes/window. Will torque know they are the same texture? Or is the path used to uniquely identify the texture.

In any case all the objects mentioned use two small textures and they are broken into two different directories. So even if the system was doubling the textures then its four small textures not two. It may be the issue but I would be surprised.

I do metrics(textures); in the console but I get an error that it can't find some gl extension so I have no idea how much texture memory is being used.

Any there is not collision mesh on these objects. I could walk through them if I wanted.

Thanks.
#4
01/20/2005 (7:16 pm)
Generally I place my textures in directory above my models. This way they get loaded as needed. If the textures are small like 128x jpgs they really shouldn't be a problem I just was throwing it out there.
Always a possibility if no one mentions it.

Matt
#5
01/20/2005 (8:36 pm)
I appreciate it you mentioning it. But it's really troublesome why the frame rate drops so much. They are really simple models with no collision detection. I used them for decorating a large interior object.

Does anybody have any answers to the questions above?
#6
01/21/2005 (5:52 am)
Do you know how to do code profiling? I haven't done it before, but it is the usual way to diagnose performance issues.
#7
01/21/2005 (8:07 am)
Apple has some tools to help profile Open GL. I just found out that I really do have 64mb of video ram. I really thought I upgraded to 128 a number of years ago.

Perhaps it's my card. It's an ATI 9000 pro with 64mb of Ram. Should I expect more performance out of it?
#8
01/21/2005 (8:24 am)
If you have not already done so, try making sure the tri-stripping is working in the exporter. I believe that you have to download a 3rd party library for it to work properly. Ive seen some really huge frame rate drops when many non tri-stripped DTS objects are on screen at the same time.
#9
01/21/2005 (8:43 am)
Thanks Matt,

I will look into that. I guess that goes to my question before if I should convert my faces to triangles or leave them as quads. I guess Triangles are faster than quads in OpenGL.

Joe
#10
01/21/2005 (9:03 am)
Tri stripping is not the same thing as triangles. I really can't explain it but Matts probably right about that.

Matthew
#11
01/21/2005 (9:04 am)
A good video driver will convert quads to tri-fans/strips anyway. Cards do not work in quads, they work in triangles. Always.
#12
01/21/2005 (9:36 am)
Pat,

I understand a good video driver will do that but does the ATI 9000 constitute a good video card? What generation of cards do the conversion and what is the overhead? Perhaps the overhead in making the conversation is what's slowing this down.

Joe
#13
01/21/2005 (2:14 pm)
I run an ATI Radeon 9000 64 mb mobility on my laptop, framerates arent too great...

recently put together a desktop with a 9800 pro 128... wonderful performance...


9000 is pretty weak, 64 mb of ram is very weak also...


also, you made these in Blender I assume ? I think I remember James mentioning something about not using the 1/1 texture wrapping because it assigns duplicate texture points and that can cause some slowdown... not sure if you are using that, just comes to mind.
#14
01/21/2005 (2:17 pm)
Matt,

What type of frame rates do you get with the standard demo? If you don't mind I'd like to gauge it against what I have. If your getting like 40 or 100 then I'm way off, if your getting 30 then I know it's not my system or the board. Although I think I do need to add the triangle stripping function to the exporter.

I'm using the blender exporter. I'm not sure what that 1/1 texture mapping means. Does that mean I shouldn't use the whole texture? I think he said to combat it you should set the sticky option. In blender there are a number of sticky options that seem to do different things so I'm not sure what he meant, hence my question up top.

Thanks for you help
Joe
#15
01/21/2005 (2:59 pm)
I'm using a GeForce4 MX 420 64Mb, and I usually get around 30-40 frames per second. So I'd have to agree that your video card must be pretty weak, because mine is pretty weak. I get wonderful framerates inside of DIFs, however. It usually stays around 60-80.

-Jase
#16
01/21/2005 (3:17 pm)
At work so cant check off stock TGE... but Some numbers I'm remembering is in an area with the newest fx foliage... about 200,000 256x256 foliage files... about 30-40 high poly trees from tim astes pack and i was around 15-40... biggest slowdown arround lots of dts trees... though his trees are a bit high poly for my machine.

inside correctly zoned DIFs I got a jump to 80-100 frames though... I'm also running third party drivers since my laptop manufacturer hasnt updated my drivers in nearly two years =/ damn gateway.


Think on Stock I'd probably get similar to Jase

Since its running Win XP... when I change to D3D the framerate goes up decently.... nearly doubling in certain situations.
#17
01/21/2005 (3:21 pm)
Radeon 9000 really is a fairly weak card... why I finally got a nice desktop for game dev testing... could hardly run EQ 2... Doom 3.. HL2 on my laptop...

9000 is what you'd consider "acceptable" I guess... but if your looking to put in more details then you probably need to consider something else for comparrison... the newest of the ATI cards are very nice, starting with the 9600XT and up... Personally like them better than Nvidias now, due to their better shader performance... a bit off note, just thought I'd throw that in
#18
01/21/2005 (6:15 pm)
Wow, thanks for all the feedback.

I know on the mac it will be slower because of some performance tweeks that will not be in torque until 1.4. The terrain mapping is apparently bad and there are some opengl inefficiencies from what I read.

But I still think it's slowing down too much with 60 simple dts objects. And I mean simple, door frames, windows, stuff like that.

I'm going to install VTK so I can use the triangle stripping in the exporter.

Thanks.
#19
01/23/2005 (6:55 pm)
I think I know one reason why it's so slow. The engine seems to have anti-aliasing turned on and with this card it appears to kill performance. I'm still not sure why it would cut it in half with the objects added but perhaps the lines from lots of small objects effect it in some way.

I need to figure out how to disable anti-aliasing then test it with and without the objects.
#20
01/24/2005 (9:46 pm)
Well I found out one of the big reasons why the frame rate dropped so much. One of my textures was set to 6x128 rather than 8x128 and it's used in a lot of different objects. Almost all of them. I'm still curious to see if triangles are faster than quads.

Thanks for all your feedback