Forum: Poser Technical


Subject: Inordinately long time taken to delete recursively nested figures

3dcheapskate opened this issue on Aug 28, 2024 ยท 8 posts


3dcheapskate posted Wed, 28 August 2024 at 7:50 AM

I've recently created a stack of 4 books as a figure, set up such that another identical figure can be parented to the last bone in order to create a stack of 8 books. A third identical figure can then be parented to the last bone of the second, etc.


I've created CR2s containing from 1 to 16 of these recursively nested figures.

They all load quickly without any obvious problems, and when I run my ropey Python scripts to randomize the books they complete very quickly.

However, when I select the figure at the bottom of the stack and delete it along with all nested figures it takes an inordinately long time for the larger stacks.

As a test I loaded the 1 figure CR2 and then deleted it, then loaded the 2 figure CR2 and deleted it, then the 3 figure CR2, etc. It was only when I got to the 10+ figure CR2s that I started getting these long delays. I'd estimate that it takes a bit over a minute to delete a 12 figure stack, and the time doubles for each extra figure - so 2min for 13 figures, 4min for 14, 8min for 15... and when I loaded the 16 figure CR2 Poser locked up with that spinning blue circle thing (the Windows 10 busy thing) for a while and then crashed.

One workaround I've found is to select a figure about halfway up and delete just the top half, so around 8 nested figures, and then delete the bottom half. Deleting each half only takes a few seconds to complete.

But since I'm planning to release this as a freebie I can guarantee that somebody will load a 64 book (16 figure) stack and try to delete it in one go.


So does anybody have any idea what's going on here, what's causing the deletion to take so long ?



The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Wed, 28 August 2024 at 8:29 AM

I'd originally thought that the Poser crash was related to running my scripts, but in the test I did in the post above I didn't run any scripts. And I've just been playing around loading all the CR2s and running my scripts, but NOT deleting anything, and there's no sign (yet) of any problem.


It's not conclusive, but I have a gut feeling that the Poser crash is related to the deletion problem.

(I'm using Poser 11)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



Y-Phil posted Fri, 30 August 2024 at 3:44 PM

I have always found Poser rather slow at object deletion... My impression is that it kind of reload a certain number of things...
There's a free tool you could try: Snarlygribbly's Scene Fixer. You will find it in the Poser 11 section here. It contains many tools, among them the ability to delete characters, lights, props, etc...

๐’ซ๐’ฝ๐“Ž๐“


(ใฃโ—”โ—กโ—”)ใฃ

๐Ÿ‘ฟ Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
๐Ÿ‘ฟ Mac Mini M2, Sequoia 15.2, 16GB, 500GB SSD
๐Ÿ‘ฟ Nas 10TB
๐Ÿ‘ฟ Poser 13 and soon 14 โค๏ธ


3dcheapskate posted Sat, 31 August 2024 at 2:51 AM

I've never really been bothered about the time things take to delete until now, and it's only the apparent doubling in time per additional nested figure that piqued my curiosity... that and the possibly related Poser crashing. So I'm mainly wondering why the deletion time appears to double for each additional nested figure, and it definitely appears to double - I did another quick test while I was working on progressively larger stacks, estimated the deletion time with the old-school counting "one thousand two thousand..." approach:

10 nested figures (40 books) - about 10s
11 nested figures (44 books) - about 22s
12 nested figures (48 books) - about 38s
13 nested figures (52 books) - about 84s

For 14 nested figures I deleted the top half first (a few seconds) and then the rest (another few seconds).

 

Thanks for the suggestion too. I've used Scene Fixer quite a lot in the past and found it, like all Snarlygribbly's stuff, very useful. 


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Sun, 01 September 2024 at 7:36 AM

Y-Phil posted at 3:44 PM Fri, 30 August 2024 - #4488923

I have always found Poser rather slow at object deletion... My impression is that it kind of reload a certain number of things...
There's a free tool you could try: Snarlygribbly's Scene Fixer. You will find it in the Poser 11 section here. It contains many tools, among them the ability to delete characters, lights, props, etc...

Based on your comment about SceneFixer I decided to write a quick script to delete the whole set of nested figures one by one, and it deletes 16 nested figures, one by one,  in less than a second.

So when Poser deletes attached figures after clicking OK below it's clearly doing a lot more than just that.


I think I'm happy with including a warning and a delete script with my freebie.

However, there's clearly an underlying problem in Poser.


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Thu, 05 September 2024 at 4:44 AM

Ah, I think I see...

When I delete a nice big stack with my script it deletes very quickly - but I can't undo the deletion !

When you use Poser's built-in delete with 'delete attached' it takes a very long time, but you can undo the deletion. So I'd guess that what's taking the time is Poser setting up and saving the data for this undo ?




The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



Y-Phil posted Fri, 06 September 2024 at 11:12 AM

3dcheapskate posted at 4:44 AM Thu, 5 September 2024 - #4489080

Ah, I think I see...

When I delete a nice big stack with my script it deletes very quickly - but I can't undo the deletion !

When you use Poser's built-in delete with 'delete attached' it takes a very long time, but you can undo the deletion. So I'd guess that what's taking the time is Poser setting up and saving the data for this undo ?

I think that you've pointed to the reason why the built-in deletion process is lengthier: the time to store the informations to allow the user to step back.





๐’ซ๐’ฝ๐“Ž๐“


(ใฃโ—”โ—กโ—”)ใฃ

๐Ÿ‘ฟ Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
๐Ÿ‘ฟ Mac Mini M2, Sequoia 15.2, 16GB, 500GB SSD
๐Ÿ‘ฟ Nas 10TB
๐Ÿ‘ฟ Poser 13 and soon 14 โค๏ธ


karasmic posted Sat, 02 November 2024 at 8:21 PM

In my experience with this issue I found that Objects delete quickly but Figures take a very long time.  I haven't  had any crashes but I found  that Figure deletes go much faster

if I switch from full texture mode to something like wireframe  before I delete.  So far it's been working.  

Wondering if others have tried this method with favorable results.