Is there any possibility to improve DXF/DWG import in this GSOC? Just asking because usually DXF/DWG files have A LOT of data and they are so slow importing that sometimes they even hang Blender.
The same thing happens with FBX.
(It may not be in the goals for this Gsoc, I’m just asking)
You can create data structures that can be read by C++ and Python.
Can you? ctypes is for C data structures only it seems, C++ has no standard interface, but the importers will be class based. It’s also questionable if you can make use of native C++ data structures in Python. I assume that bpy requires wrapped Python objects. But even if, I don’t see why one would want to do this, because you still add overhead for the context switches, add more complexity and I don’t think that you would save much time if you are already at rewriting the core logic for an importer - why not just port it entirely?
Thank you SO much for addressing this issue! I work with large vertex-colored point clouds in .PLY format, and the vast majority of my time is spent brewing coffee while Blender imports the results. I’ve made basic .PLY import/export modules in C++ for my own OpenGL project, and while naive and crude, they still run way faster than Python.
may speed things up for you (also better for the profiler if you can exclude the time where you’re just clicking about or waiting for shaders to compile)
i just got idea. don’t know how is this possible in terms of useing all cores during export don’t know if u guys will do this but. if that is for example not really possible i got idea that for example if u export many objects… each object could be assigned to each core. for example…
You can’t just throw more threads at a problem and assume it’ll be faster, it’ll work for cpu bound problems, for IO bound issues this rarely works out all that well.