I have different results here (1001 objects, 12012 polygons):
Objects: 283 fps
Limbs: 363 fps
One object: 3215 fps
Here is the test code:
Sync on
Sync rate 0
// 0 = objects, 1 = limbs, 2 = one object
objectMode = 1
select objectMode
case 0
// single objects
obj = find free object()
make object cube obj, 1
for i=1 to 10
for x=1 to 10
for z=1 to 10
obj = find free object()
make object cube obj, 1
position object obj, (x-1)*1, 0, (z-1)*1
next z
next x
next i
endcase
case 1
// limbs
baseObj = find free object()
make object cube baseObj, 1
mesh = find free mesh()
make mesh from object mesh, baseObj
for i=1 to 10
for x=1 to 10
for z=1 to 10
limb = append limb(baseObj, mesh)
offset limb baseObj, limb, (x-1)*1, 0, (z-1)*1
next z
next x
next i
endcase
case 2
// one object
baseObj = find free object()
make object cube baseObj, 1
mesh = find free mesh()
make mesh from object mesh, baseObj
for i=1 to 10
for x=1 to 10
for z=1 to 10
limb = append limb(baseObj, mesh)
offset limb baseObj, limb, (x-1)*1, 0, (z-1)*1
next z
next x
next i
delete mesh mesh
make mesh from object mesh, baseObj
delete object baseObj
make object baseObj, mesh, 0
endcase
endselect
position camera 0, 15, 15
point camera 5, 0, 5
Do
set cursor 0, 0
print "Fps: ", screen fps()
print "Polygons: ", statistic(1)
Sync
Loop
