A quick tip on how to improve the load times for your large custom models

The place to discuss scripting and game modifications for X³: Reunion.

Moderators: Scripting / Modding Moderators, Moderators for English X Forum

Post Reply
User avatar
DeadlyDa
Posts: 1881
Joined: Mon, 5. Jan 04, 05:46
x4

A quick tip on how to improve the load times for your large custom models

Post by DeadlyDa » Sat, 14. Jan 06, 09:22

I have been asked by several people how I managed to reduce the load time for the Asteroid Base from 60+ seconds to around 4 seconds.

Some of the following may be inaccurate...but what the hey...it works for me :D

First, you need to understand that the poly count of the model, while important, is only part of the problem. The actual "size" of the model when it rendered in game can also have a major impact.

I proved this to myself the hard way with the Asteroid Base, which had way less polygons than the standard X3 shipyard or equipment dock...but took much much longer to load.

So here's a quick tip on how to improve the loading times of your large complex high-polygon models (which I'm sure you are all staying up late creating :roll: )

When you are done working with the mesh in 3dMax but before you export it as a .bod file, make sure you use the Slice modifier to break up the model into smaller "parts". It's still just one mesh, but apparently the X3 rendering engine processes each part in the mesh sequentially.

I figured this out when I was struggling to reduce the load times for the Asteroid Base. When I took a good look at the .bod files that Egosoft packaged, I noted that all of them had "parts"...and all of mine were just one big mesh. (I actually first started thinking about this when I began building ships for X2. I noticed that when you exported a big part using the Egosoft-supplied DLL for 3dMax, it would imbed a comment in your bod file with a warning message telling you that you had too many faces in the mesh "part".)

Anyway, once I decided to try and emulate the GFX modelers at Egosoft, it still took me another day to figure out how to chunk up a mesh into parts. However, once I did the load time for the Asteroid base dropped from 60+ seconds to 3 seconds...well worth the blood sweat and tears it took me to figure it out :D
ImageImage
- Also check out the DDTC Forums, and the X-Wiki

User avatar
-XTM-
Posts: 1277
Joined: Sat, 12. Nov 05, 20:46
x3

Post by -XTM- » Sat, 14. Jan 06, 09:46

Valuable stuff Deadly.

Still doesn't explain why ES gets away with multi zillion, uber textured poly meshes theirselves but what the heck...if it helps, it helps.

Thanks very much for the tip, I'll check out it's worth l8er but I'm sure it will come in very handy.
The Xtended Mod

Need Help?

Ask Questions / View the FAQ's at TheXUniverse Forums
Read the News on Mod Developments at our Website

User avatar
DeadlyDa
Posts: 1881
Joined: Mon, 5. Jan 04, 05:46
x4

Post by DeadlyDa » Sat, 14. Jan 06, 17:23

...ES gets away with multi zillion, uber textured poly meshes theirselves but what the heck...
The same way.

I have tried this on an 18k mesh I never implemented because i feared the load times were excessive.

By "chunking" the mesh(s) into parts, and re-compiling them into bob (binary files), my models load just as fast as Egosoft's.
ImageImage
- Also check out the DDTC Forums, and the X-Wiki

User avatar
-XTM-
Posts: 1277
Joined: Sat, 12. Nov 05, 20:46
x3

Post by -XTM- » Sun, 15. Jan 06, 03:23

You must realy be using a different version of X3 then cause when I load up a ES mesh (except the Teladi ones), they are almost always 1 huge body, except for the detailorama on it.
The Xtended Mod

Need Help?

Ask Questions / View the FAQ's at TheXUniverse Forums
Read the News on Mod Developments at our Website

User avatar
DeadlyDa
Posts: 1881
Joined: Mon, 5. Jan 04, 05:46
x4

Post by DeadlyDa » Sun, 15. Jan 06, 03:40

...when I load up a ES mesh (except the Teladi ones), they are almost always 1 huge body...
Well...when I said "big, I meant really big.

Take a look at the argon_equipmentdock.bod file in the folder "objects\stations\station_scenes\others". It has six parts in the mesh.
Last edited by DeadlyDa on Sun, 15. Jan 06, 04:36, edited 1 time in total.
ImageImage
- Also check out the DDTC Forums, and the X-Wiki

User avatar
-XTM-
Posts: 1277
Joined: Sat, 12. Nov 05, 20:46
x3

Post by -XTM- » Sun, 15. Jan 06, 03:51

I know but that's not what I mean.
Teladi ships are also multi while most other races are mostly single part-meshed, yet this doesn't make 1 bit of a difference in spawntime.
Your theory doesn't explain why it takes a 'Bobbed' ES- Argon M1 only 3 seconds to spawn (4 body's/LODs - 1huge part,1 small if I'm not mistaken) while a much less poly heavy model of mine takes ages yet it's made up of multiple smaller parts.

The only thing I can think of is that it must make 1 mf-huge difference if the files are bobbed or not.
The Xtended Mod

Need Help?

Ask Questions / View the FAQ's at TheXUniverse Forums
Read the News on Mod Developments at our Website

User avatar
DeadlyDa
Posts: 1881
Joined: Mon, 5. Jan 04, 05:46
x4

Post by DeadlyDa » Sun, 15. Jan 06, 04:42

I haven't been looking at Egosoft ships. As I stated, my efforts were focused on the problem I was having with the stations...which are much larger than ships.

Please note, I said larger...not higher polygon count.

I've been poking at this GFX modding game for a long time now, and one thing that has become painfully clear to me is that it's not a science. I post what I find in hopes it will help someone.

Sorry if my suggestion didn't help you...but as I clearly stated in my initial post...
Some of the following may be inaccurate...but what the hey...it works for me
ImageImage
- Also check out the DDTC Forums, and the X-Wiki

Post Reply

Return to “X³: Reunion - Scripts and Modding”