概略
- bpy.ops.mesh.primitive_xxx_add、それぞれについてスピードを見てみる…が、予想通りメッシュ数に比例な感じ
詳細
- cube以外の他のmesh.primitiveについても、次のように実行してスピードの違いを見てみる
import bpy
import time
def addOps200Time(addOps):
''' return sec for 200 times bpy.ops.mesh.primitive_xxx_add '''
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete(True) # delete all
start = time.time()
for z in range(0,10,5): # x2
for y in range(0,40,4): # x10
for x in range(0,40,4): # x10
addOps(location=(x,y,z))
return(time.time()-start)
print(addOps200Time(bpy.ops.mesh.primitive_cube_add))
print(addOps200Time(bpy.ops.mesh.primitive_cylinder_add))
print(addOps200Time(bpy.ops.mesh.primitive_ico_sphere_add))
print(addOps200Time(bpy.ops.mesh.primitive_uv_sphere_add))
print(addOps200Time(bpy.ops.mesh.primitive_cone_add))
print(addOps200Time(bpy.ops.mesh.primitive_torus_add))
print(addOps200Time(bpy.ops.mesh.primitive_monkey_add))
'''
- 結果として立方体 4.48 s、円柱4.99 s、ico球 4.93 s、UV球 6.81 s、 三角錐 3.00 s、ドーナツ 5.97 s、猿 5.19 sとこれは単にメッシュ数とほぼ比例関係か。
- あんまり意味なかったが、サイズや回転や拡大のオペレーションはどの位の時間かかるかはちょっと気になる。