Copy link to clipboard
Copied
Preparing Scene mode always causes CH to become non-responsive ("not responding") for extended periods of time. I'm assuming this is because of rendering, but it doesn't seem that the software isnt maxing out on cpu or ram. Is this normal?
Copy link to clipboard
Copied
The compilation process for complex scenes (like our Getting Started project, which is precompiled to make it open more quickly) can take an extended period, aren't as parallel as they could be (like, for example, video encoding which can scale to many cores), and should really have some kind of cancelable/progress UI but they currently do not.
Launching directly into aa large scene from an earlier version can be particularly taxing since it also does a project format upgrade which tends to invalidate prior cached renderings of the scene requiring them to be regenerated.
So it is normal, but agreed that it is definitely not ideal.
Dan Tull
Copy link to clipboard
Copied
It takes a long time to process under any circumstance, though.
For example, if I already compiled the scene, go back into my puppet and add 1 handle and then go back to the scene to see the result. It takes the same amount of time and says not responding. About 10 mins on average. I can officially say I've spent more hours waiting for compiling than actually working. Not an exaggeration. It kills all momentum in workflow. It legitimately seems like it's recompiling the entire scene every time.
I7 quadcore 3.5ghz 16 gb ram. No other programs in process. Also looks like CH won't use more than 20% cpu and 8gb ram eventhough I have plenty of cpu and ram left over.
Copy link to clipboard
Copied
Oh, that does sounds really strange.
Usually the first hit is way worse for most scenes I have encountered because Ch can re-use a lot of the rendering it did in a prior pass and invalidate only those parts impacted by the change that was made.
I'll get in touch with information on where/how to send the project and hopefully I can figure out why this is behaving so badly.
Dan Tull
Copy link to clipboard
Copied
Hi Dan,
Please hold off on testing my puppet. I think I may have figured something
out through testing.
I pulled the Dropbox file down for now. I'll share my findings with you so
you can document it when I'm finished with setup and testing.
Thanks,
Eric Cibain
Copy link to clipboard
Copied
Got it. Thanks for the heads up. I saw the 404 from Dropbox and was going to ask in a bit. I'll be interested to hear what you've found. The long duration (per our conversation even for simpler puppets) of scene prepare is definitely puzzling and a bug well worth pinning down and fixing.
DT
Copy link to clipboard
Copied
Hi Dan,
Okay, this is the link for my puppet. The puppet is a copyrighted
character.
https://www.dropbox.com/s/lf6xgis3enkiho8/Eric-PuppetComplex3.7z?dl=0
I’m having a ton of problems and I’m curious to hear if this is because of
the size of the project or something else.
This project is an experiment I’ve been trying with shareable puppets to
save on edit time and possibly make it easier on the software by reusing
objects instead of having a ton of duplicates. I thought it would help
speed up the scene preparation time.
The scene prep time is long, the fps won’t go higher than 5, and the body
turn key triggers sometimes take forever. I haven’t assigned all the key
triggers, handles, and other functions I wanted yet as I’m already seeing
performance issues and curious if maybe I’m expecting too much out of the
software.
Let me know if you see if there’s something I can do to accomplish this
goal or if I need to simplify to accommodate CH.
Thanks,
Eric Cobain
Copy link to clipboard
Copied
Hi Dan,
Okay, this is the link for my puppet. The puppet is a copyrighted
character.
https://www.dropbox.com/s/lf6xgis3enkiho8/Eric-PuppetComplex3.7z?dl=0
I’m having a ton of problems and I’m curious to hear if this is because of
the size of the project or something else.
This project is an experiment I’ve been trying with shareable puppets to
save on edit time and possibly make it easier on the software by reusing
objects instead of having a ton of duplicates. I thought it would help
speed up the scene preparation time.
The scene prep time is long, the fps won’t go higher than 5, and the body
turn key triggers sometimes take forever. I haven’t assigned all the key
triggers, handles, and other functions I wanted yet as I’m already seeing
performance issues and curious if maybe I’m expecting too much out of the
software.
Let me know if you see if there’s something I can do to accomplish this
goal or if I need to simplify to accommodate CH.
Thanks,
Eric Cobain
Copy link to clipboard
Copied
Hi Dan,
Did you get a chance to look over my CH puppet?
Eric Cobain
Copy link to clipboard
Copied
Sorry for the delay in responding. I did get a chance to look at it and see what you're trying to with the re-use of shared parts.
I don't know of a workaround yet for the bug you encountered with reconcilation (your other bug posting).
As far as this thread, I think I see why it might it is taking a long time to prepare/re-prepare the this puppet, though I think it should be able to be faster than it is. I think it may not be able to take advantage of the shared parts being in multiple places. I think it might be faster if it were able to do so.
You had mentioned that you've seen long delays even with simpler puppets, so there may be an additional issue in the mix that is degrading preparation time in general.
As to the FPS, it appears to be due to all the heads and the face behavior. I know the Dr. Funkenstein character in our Getting Started project has a several reduced puppet instances (with only the heads, body turns, and cycle layers groups used in a particular scene included) to help reduce the cost, but that can be unwieldy to manage across reconciliation.
I think there have also been cases where removing a behavior at the top level and applying it at lower levels has helped, but I'll confer with some other members of the team with more puppet optimization expertise and try to get back to you soon.
Dan Tull
P.S. I'll need to share your puppet with those team members so they can help, but we will of course be mindful/respectful of it being your copyrighted work.
Copy link to clipboard
Copied
Thanks Dan,
Feel free to share it with the team. For the software to be at a more
professional level, it would be great if the subpuppets could do what I'm
trying to do. Do you know if the objects attached to the subpuppet are
duplicated in the objects folder? If so, it would negate what I'm trying to
do and I guess I'd be better off not making them subpuppets, but the setup
and edits would be extremely tedious.
Either way, at this point, it seems that making multiple views for a puppet
is too intense for beta 5 and the subpuppets in puppets issue is too
intense for beta 6.
So, sadly, I'm stuck between a rock and a hard place right now and my
project is at a stand still so any help would be greatly appreciated.
Thanks again,
Eric Cobain
Copy link to clipboard
Copied
Aha! I spent some time today with your puppet and think I found an important optimization.
I went back to the starting point of the project you sent and opened just the Right Arm and Left Arm puppet and marked each instance (by instance I mean each animation group, not each frame) of the arm with the warp independence crown.
I think one thing that was hurting both runtime (fps) and prepare time performance was that it was treating all those arms and their subframes as one unit. Worse, because the arms were repeated in multiple places, I think it was combining that big blob of layers together with the body and then compiling that and thus not re-using as much work as it could.
By partitioning the arms into separate warp independent groups I'm now seeing more like 20 fps (vs 5) and the preparation time seemed much shorter as well (no hard numbers to report there) and the files in the WarpCache folder are smaller and less numerous.
Hopefully you see similar effects and this helps trigger response as well. (Update: I'm still seeing annoying delays before triggers take effect, so I'm investigating that further)
Dan Tull
Copy link to clipboard
Copied
Awesome Dan!
I'm going to try that right now. If this works, you're my freaking hero.
I'll let you know how it works out.
Thanks again.
Eric
Copy link to clipboard
Copied
Hi Dan,
That solution really helped the resonsive ability and improved lip sync.
There is, however, 1 issue that wasn't resolved. The bodyturn triggers are
still hanging up. At first I thought it was an issue with performance, but
now that everything else is running smoothly, it makes me think it's
something else.
Can you also take a look at that if you don't mind?
I really appreciate all your help.
Thanks again,
Eric
Copy link to clipboard
Copied
The bodyturn triggers are still hanging up.
Can you also take a look at that if you don't mind?
Yep, I did some further digging yesterday and have some leads, but haven't tracked it down quite yet.
DT
Copy link to clipboard
Copied
Ok, I found it.
I think this is based in intended trigger propagation behavior though in this case it seems really confusing. There are reasons that the triggers cascade like this, though it is something we may need to make easier to debug/understand.
The thing that causes the delay is all the cycle layers behaviors in the arms that do not have assigned keytriggers and are set to "Let Cycle Finish". Those are getting recursively triggered when the body pose is selected and despite not being visible, they are walking through their animation frames. If I set all of those to have an explicit trigger key, they await the key instead of being recursively activated and do not cause the stall while the cycles finish before switching poses.
Dan Tull
Copy link to clipboard
Copied
Dan,
You are my freaking hero. Thank you so much for all the help. I've been
trying for months to make a puppet structure that would be perfect for my
use and you just helped me accomplish that. I've been so excited to make
other characters, but I wanted to work out all the bugs first and now...
it's on!
I really can't thank you enough.
Please let me know if you find out anything more about the beta 6 issue
with puppet in puppet use, but until then, I'm very happy with my results
in beta 5.
I'm getting 20 fps and I'm very impressed with what can be done with CH now.
I will send you guys some finished animations if you're interested. I've
been combining CH, AE, and AN to make some really fun explainer videos.
grinning from ear to ear
Thanks so much,
Eric Cobain
Copy link to clipboard
Copied
I really can't thank you enough.
You're very welcome! I'm really glad it worked. Your puppet is looking good and I think you may be onto something with your sharing scheme in terms of both maintenance and performance.
Please let me know if you find out anything more about the beta 6 issue with puppet in puppet use...
Will do. Your careful pinpointing of the problem made it super easy to reproduce the issue. The developer that knows that code best is currently busy with some between release upkeep work, but hopefully can get to the bottom of the issue soon.
I will send you guys some finished animations if you're interested.
Yeah, definitely send them along. We love seeing what customers are creating with our product!
If you run into other issues with the app (I define issue as anything that makes it less than a joy to use), definitely pass along the feedback here or directly to me.
Thanks! -- Dan Tull
Copy link to clipboard
Copied
Hi Dan,
Just checking in... any news about the puppet in puppet issue with Beta 6?
Eric
Copy link to clipboard
Copied
Sorry for the delay in getting back to you on that. I had a chance to confer with the developer on it and it doesn't sound like there's an easy workaround to avoid it without fixing the code that's involved.
DT
Copy link to clipboard
Copied
Okay. Does that mean it will be fixed in the next version? And when do you
think you'll be releasing the next version? It seems like an object ID
issue in the scripting and should be a relatively simple fix. I really
would like to take advantage of all the new features.
Thanks,
Eric
Copy link to clipboard
Copied
My biggest concern at this time is the delay of key trigger events. I'm
quite alright with long prep times if its compiling the data so that the
stage runs in realtime, but sadly, the puppet doesn't function even after
the long wait times. If you can find a solution to that, I can work around
the other issues until beta 7, I guess.
Also, I have alot of plans for CH projects, but I worry about putting alot
of work into a software that will have a ceiling in terms of capabilities.
Do you have any insight for me as to whether or not the software will be
capable of being able to handle super complex characters in the future?
It seems to me that the method I used would be very popular with the
advanced portion of users and without it, it will be more of a hobby
software than a professional grade. Think of it like movie clips in animate
cc.
Thanks again,
Eric Cobain
Copy link to clipboard
Copied
Do you have any insight for me as to whether or not the software will be
capable of being able to handle super complex characters in the future?
I guess I'd say the last couple of versions have advanced the level of puppet complexity the app can handle. So for example, the Getting Started project that was introduced in Beta 5 has puppets in it that were unusably slow in Beta/Preview 4 and Beta 6 runs that project's main scene at about 25% percent higher FPS than Beta 5 did.
However, puppets with a complete set of head and body turn combinations like yours definitely strain the system and require some tradeoffs and careful tuning to stay performant. We'll need to continue to find and exploit optimizations to raise that ceiling further.
Dan Tull
Copy link to clipboard
Copied
It just got fixed internally and is a fairly small and localized fix.
There's not another planned release for a while, though.
Dan Tull