Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Manipulation of large number of targets is slow

#1
Hi, my application requires a large number of target to be processed, usually between 100 and 100 000 by parts (Imported via the API). Even for the lower bound, I have a hard time manipulating the target without RoboDK freezing for minutes. Deletion of more than 500 target seems endless, yet the RoboDK process doesn't utilize more than 3.5% of my processor.

Even on a fresh install of v5.9.4.25460, with a cell containing only a robot and around 2500, I get freezing for minutes when deleting them 500 at a time.

Is there any settings I can change or something I can do to get better performances?

Thanks
#2
You can speed up processing your API commands by turning Render off while you perform a lot of operations.

You can find more information here:
https://robodk.com/doc/en/PythonAPI/robo...ink.Render

You can also find some functions that allow you to perform certain operations in bulk, such as setPoses or Delete items by passing a list of the items you want to delete:
https://robodk.com/doc/en/PythonAPI/robo...ink.Delete
#3
Thanks for your answer!

For the importing part, I'm already turning render off. It takes some time to import the points, but it's expected for that number of target. It's when performing operation in the GUI that it is extremely slow since I can't turn off render.

Does this means that to do operations in bulk, i must go through the API and can't do it directly in the graphic application? Isn't there a way to stop the auto-rendering between each action when manipulating multiple items from the tree? I don't know how actions are processed in the backend, but only triggering a render when the bulk action is completely done would speed up things at no apparent cost, since, anyway, the render is frozen while processing the actions.

I can write a script that turns off the render and then deletes the selection, but I feel this behavior should be expected from the standard function and not from an add-in script. Let me know what you think about it.

Also, I'm a bit confused as to why RoboDK doesn't use more resources when they are available. Could you please address that point too?

Thanks!
  




Users browsing this thread:
1 Guest(s)