[Bf-python] ThinMesh
joeedh
joeeagar at prodigy.net
Fri May 6 23:44:17 CEST 2005
Stephen Swaney wrote:
>In another thread Cam Barton wrote:
>
>
>
>> Keep in mind that some people use Meshes that just
>>about fill there entire system Ram, so making a copy of ALL NMesh data
>>... is not very efficient.
>>
>>
>
>One of the original bpy design principles was that the bpy interface
>would be thru thin wrappers around Blender data. 'Thin wrappers' means
>that the bpy objects do not make copies of blender data, but instead
>provide a python interface to it.
>
>For most modules this is true, but NMesh is an exception. It spends a lot
>of time and memory making duplicate copies of existing arrays. Obviously,
>this is not an efficient use of resources.
>
>Willian and I have discussed the idea of a ThinMesh type that provides
>a true thin wrapper around Blender's Mesh objects. By accessing
>blender data directly, we would see big improvements in speed and
>memory consumption when dealing with large meshes.
>
>At one time, this may have been challenging for us, but now that our
>Python extension skills are much improved, maybe it is time to revisit
>this idea. Anyone looking for a project?
>
>
>
Main problem: Mesh the structure does everything, and I mean everything,
in arrays. So, say to add a vert you have to reallocate the *entire* array.
obviously there are some methods of dealing with this, like leaving room
for expansion. . .but still, I'm not sure if a thin wrapper would be an
improvement for Meshes.
Implementation-wise, I would probably write a python list object that
deals with C arrays and creates wrapper-objects on-the-fly. Writing it
in Pyrex might be a good idea, although me personally, I would write the
module in just normal C.
joeedh
More information about the Bf-python
mailing list