Removing a G8 character takes forever
As I am writing, two 4.24 instances are busy removing 1 resp. 2 G8 characters for over 10 minutes. What is is this? I get how adding them takes 2 minutes, but deleting?
You currently have no notifications.
As I am writing, two 4.24 instances are busy removing 1 resp. 2 G8 characters for over 10 minutes. What is is this? I get how adding them takes 2 minutes, but deleting?
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2026 Daz Productions Inc. All Rights Reserved.
Comments
It is freeing up the memory used by all the links, the building of which was what made loading slow.
I've never experienced issues deleting characters from a scene. Closing a scene and opening a new one, however, can take a while. Sometimes it's much quicker to do a hard close of the whole program and reopen it. Not an ideal solution but it saves a lot of time.
It's about time something was done about this, but as DS6 is out, I can't see Daz doing anything to improve DS4.
DS6 clears scenes fast. Compared to DS4, DS6 is "unbelievably" fast.
I suspect the slow deletion was due to the way the core programming was done for DS4. This may be different for DS6, but I can't manually download DS6 yet to verify.
Having tracked DS4's slow freeing of memory in Task Manager and another memory tracker, I think DS4 deletes a scene by calling the object destructor for every bone in each character and the the mesh and the skeletons for the character & all the character's clothing. This means many hundreds of object destructors are called, each deleting something like a finger bone, a clothing bone, or a group of facets, a shader or whatever. This sort of thing leads to the slow decay of memory allocation shown by DS4 as the program frees memory. This approach is built in to the DS4 SDK methods and help files, and the way of deleting things is there to see if you read the help files in depth.
In most C++ programming environments it's possible for a top level object to have a special destructor that overrides the default [slow] destructor and deletes itself and all the child objects in one hit without recursively calling up the destructor for each child object. This is a very much faster process as it clears all the memory allocated to a parent object in one hit. There may be a number of parent objects in a scene, so it won't be instantaneous, but quicker and more efficient than deleting hundreds of objects one at a time using the default destructors. I have not tried deleting in DS 6, as I said above, so I've not read the SDK in sufficient depth to work this out, either. But it may be the method adopted by DS6 to delete characters.
One thing I have noticed is that from DS4.21 on, it appears to exit the program faster than previous versions. Don't be fooled by this, it doesn't actually close any faster. The change that occurred with DS4.21 & subsequent versions is that the main window is hidden early in the exit process (so it seems to be closed at this point), but it does tidy up afterwards in the traditional slow method - track the decay of memory allocated to DS4 even after it disappears from view. I've seen it reducing for up to 5 minutes after the main window becomes invisible. I hope this is not the trick used to make DS6 seem to delete characters quickly, and I do hope they have written an over-riding destructor method that deletes the character objects quickly.
Regards
Richard
Yeah, I've noticed the hidden window thing. Easy to see without task manager. Close Daz Studio. Then immediately try to launch it. A minute later, you might succeed depending on how big the scene it's deleting was. :)
When I don't need the instance anymore I usually save it and kill the task, wouldn't know why not. It was just that here I needed to replace models with subsets so keeping an unused character around wasn't economical. DS6, well, I'll see about that if all the plugins I need/want are there.
Almost no plugins are there.
And killing DS only works if you haven't made any changes to the layout or added menu items. If you have, killing DS loses those changes.
Been telling people for years, don't clear the scene, don't select new scene or close the program, as that will get you stuck in the DS cleanup process.
Instead select the items in the scene tab and hit the DELETE key on your keyboard, doing that means there's nothing left for the DS cleanup process to get hung up on.
Recent versions of DS4 leave the main window open for longer than older versions, rather than vice versa. That is why people complained about them suddenly taking longer to close, it hadn't vanished into the list of background processes.
Same on crashes. Saving layout often is saves you nerves. I'd like a "restore last saved layout" hotkey. Tried to script that. Madness ensued.