There is the use of ArrayList in a manner that is very slow when removals or clear are called. Specifically: NodeComponentRetained.users variable is slow when used in the methods copyMirrorUsers removeMirrorUsers removeUser RenderBin.lockGeometryList and RenderBin.nodeComponentList variables are slow when used in the methods lockGeometry releaseGeometry My solution is two fold 1. To minimize the impact is to create a new class that extends ArrayList<E> but internally stores the data in a LinkedHashSet, allowing faster get and remove performance 2. to alter the calls to utilize addAll and removeAll methods that are fast. However this requires the addition of a new data class that may confuse users, a cleaner though having more impact solution would be to simply change the type from ArrayList to LinkedHashMap
Also these slow arraylists are used here Shape3DRetained.getGeomAtomsList and so that must be altered to accomadate any changes
resolved in 1.7.0