tp4: 1.5 gigs ram used, 0 cpu, and ram climbing at end of render.

Started by neuspadrin, July 04, 2008, 01:10:43 PM

Previous topic - Next topic

neuspadrin

My render should just be finishing as every block looked done, but then right as the timer stopped the program went into not responding, i took a quick screenshot of my render (though the render is actually much larger then that) so that the 38 hour 46 min render wouldnt be completely lost before the not responding greyed out the window some.  so now im sitting here hoping a window doesn't popup saying the program has completely frozen and that maybe just maybe thats normal ending procedure for a large high quality render with tp4??  as ive typed this my ram has now climbed an additional 38...40....53...60....megs it just keeps going...

*edit*
up to 1.65 used

neuspadrin

ok, half hour later its unfrozen and says finished properly... just kinda scared me at first.  so everything is fine, just seems the timer froze for half hour while it "finished". 

rcallicotte

If I remember correctly, Matt said something about the final work on the image isn't visible to what we can see.  This might explain something, but I'm not sure about the 0% CPU.
So this is Disney World.  Can we live here?

Matt

What resolution was the image?

If the timer has stopped, then the actual rendering should have finished and it is either cleaning up (which usually means a *reduction* in memory use) or it's working on the display of the final image. The display of the final image is something that changed from the original design in TP3, and it might explain the rising memory use, but Jo is most familiar with that part of the code. We'll look into it.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

PG

Did the image actually change in any way when it said it had actually finished?
Figured out how to do clicky signatures

jo


neuspadrin

at around 38h 45m it finished (from what my eye could see, everything looked done), and the clock stopped counting up, the program then switched to a not responding status according to windows but didn't grey out the window, so i took a quick screenshot to make sure i didn't completely lose it.  It went grey shortly after, but never had anything popup saying it had to be ended.  And when i checked it was at 0% cpu and the ram just kept climbing.  Freeked a little and so i posted here since i had to leave and was just hoping it would fix itself maybe.  When i got back the render timer was at 39:14 (so about 30 minutes after the timer stopped counting up before i left) and the image said it was finished. 

As for the image, rendered at 1920x1200, which is why i was hoping maybe it would just be something finalizing... but 30 minutes seems a bit long for an image that looks like its done to my eye.

http://forums.planetside.co.uk/index.php?topic=4363.0

jo

Hi neuspadrin,

Could you please zip up and send me all the files needed to recreate the scene? I'll check out what's happening. You can send them to me via email at jomeder@planetside.co.uk. If you have some webspace you can upload them to and then send me the URL that would be even better.

Regards,

Jo

neuspadrin


jo

Hi neuspadrin,

You know, considering the length of the render, I don't actually see that 30 minutes is actually such an unreasonable time for whatever cleanup is happening. It's about 1.3% of the render time. Even with short renders there has sometimes been a noticeable "finishing" time ( not 30 minutes of course, but noticeable ), and they also looked complete. I'm still rendering it and will try and catch whatever it is that's happening toward the end of the render though.

Regards,

Jo

neuspadrin

Yeh I was hoping it was just that.  Thing is though on nice big renders the last thing you want is to see not responding right as she finishes ;) anyway to make the cleanup still update the timer so that the user has some sort of way of knowing its not frozen? Or a popup that says something like finalizing render please wait?  it just kinda shocked me and i just hoped it was finalizing (which it probably was).  It wasn't a matter of unreasonable time to wait for it, it was more that i had 0 notice of if the program was indeed frozen, or just finishing up. 

jo

I agree that the behaviour of the timer and such is not ideal. However I don't think we've never intended the timer to be something which indicates that the app is working and hasn't frozen/crashed, it's basically just a convenience to let you know how long the render has been going. Of course we also understand that people do think that the timer is something more than we intended it to be, so at some point we will need to make sure it keeps running as long as TG2 is still working.

Just because a program isn't responding doesn't mean it has frozen. Generally speaking the OS decides a program isn't responding if it has stopped processing events sent to it by the OS for a certain time. The program may however just be really busy calculating something and not looking at the events being sent to it. Mac OS X displays a this colourful spinning cursor when an app stops responding. People call it the "spinning beachball of death" or similar because they think when it appears a program has frozen. With one of the OS X updates Apple changed the time before this cursor came to something much shorter than it had been, and it triggered a whole lot of complaints from users about apps which were freezing up. They weren't and they were working just as well as they had before. I think the reason for Apple shortening the time was to force developers to rearrange their apps so they checked user events more frequently and perhaps move calculation intensive code out into threads running separately from the UI thread. Often that's easier said than done though. This wasn't really a bad thing ( just sneaky and problematic for developers ), because more responsive apps are better and often make working with multiple apps at once better.

It would be better if TG2 didn't do this, of course. The reason the timer isn't updating is probably because the app isn't processing events, which means it isn't redrawing the UI as well as making the OS think it has frozen.

Regards,

Jo