1. 3D objects effect frame rates from the time they are loaded into the game?
Yes, I noticed this too. There's really no valid explanation for it. Structurally the created objects are stored in a list/que. During a sync, one thing that might explain a drop, could well be that even while hidden, objects are still translated to the camera before being rejected for rendering, or there's some texture overhead for some reason. Something similar also happens in DB classic.
2.
From memory, you need to position/enable the object as visible, before it'll get a valid in screen result.
3.
if you want to create caches of cloned objects, use the instance object (or something similar) command. It's meant to create a new object that effectively points to the parent objects data. Thus sharing mesh/texture data, while having it's own position/rotation etc. It should be faster to create. Also, Rather than delete object at run time. Hide and cache them.
i.e.
So bullet object numbers for example, would be held a list maintained by you. The list is pre-created with a cache of say 25/50 instanced objects. To get a new object you pop current free object from your cache list. (linked list). If there's none, you instance a new object and add it to the cache list. There's no searching, as object numbers would be handled through a parent list.
4.
It depends on where the object hidden flag is checked during the
translation pass. If the object hidden flag is checked after the bounding volume to camera tests, then positioning it far off camera and hiding could well be faster. Since it'll fail the bounding test first and exit there. But you'd have to assume that Mike would test the hidden state first surely..
Kevin Picone
Play Basic - Visible Worlds - Kyruss II
[url]www.underwaredesign.com[/url]