Performance of "deep cloning" operations in BricsCAD
I'm porting an ObjectARX plugin from AutoCAD to BricsCAD.
Perhaps naively, the plugin constructs an AcEdInputPointMonitor
to keep track of the cursor position and interactively display/update complex geometry (think tens of polylines) on the screen.
To that end, the code frequently uses a deep cloning operation on previously calculated geometry (via AcDbDatabase::deepCloneObjects
).
I tried running the ported plugin on a heavy file (~80 Mb), but it was extremely sluggish, which didn't happen with the original, AutoCAD, one. A quick profiling revealed that almost all of the processing time was spent on the aforementioned deep cloning operation, something that does not happen in AutoCAD (not only does the original AutoCAD plugin run smoothly on that heavy file, but also the deep cloning is not even the performance bottleneck).
Is this a known issue, and is there a workaround?
Comments
-
Not a known issue that I’m aware of, I tried a python sample and it works instantaneously. though, the largest drawing I have on my system is 12mb, and my sample only clones a single object. You should create a support request, for the BRX team to check out.
0 -
I will have a look at your python code and will create a support request for the BRX Team. Thanks.
0