Skip to main content
malten97351532
Known Participant
August 25, 2020
Answered

Possible Bug: Exporting large motion graphics template leads to freeze / crash

  • August 25, 2020
  • 2 replies
  • 1399 views

I am currently developing a fully reactive pie chart with a variety of elements and dynamic animation triggering for use as a motion graphics template. The project has several subcomps and is chock full of expressions but works fine in AE and renders without any problems. However:

 

When trying to export the project as a motion graphic template via the essential graphics panel, AE freezes and eventually crashes.

 

 

It does not matter what export method/destination I choose (tried them all). As soon as I confirm the export the window freezes up and nothing happens, even after an hour, sometimes the app crashes after a while.

 

Other, more simple projects export just fine, so I am fairly certain the problem is with my project.

 

I have well over a hundred elements exposed to the user via the essential graphics panel (there are up to 8 slices with individual labels and other parameters, so it adds up quick). I have already had a bug while building the menu where AE crashed when adding more items, but that was fixed after a restart.

 

I have considered the project architecture/expression use as the culprit as well. The slices on the chart are all chained via expressionns to calculate their sizes and positions. I have never had problems with that before though.

 

The most outlandish expressions I use loop through the comp frames to detect when a threshold value is crossed to dsynamically trigger the individual labels to fade in. However, since there are no issues in AE itself and it renders fine I am not sure if this is the issue.

 

 

I create a variety of motion graphics templates for my organization and have succesfully deployed a range of relatively complex tempalte files so far, so I am not new to the workflow, but this has me stumped. I tried the usual troubleshooting methods (updating, checking drivers etc., trying to remove suspicious elements, move to a new project file etc.).RAM and CPU/GPU usage are nominal before and during export and remain constant after the program locks up.

 

System specs are below. Thanks in advance for any help!

 

System Specs:

 

AE Version: 17.1.3

OS: Win 10 Pro

GPU Drivers: Nvidia Studio drivers

 

CPU: Ryzen 3750X

GPU: RTX2070S

RAM: 32GB DDR4 @ 4000MHZ

Storage: HDD Raid 10 (internal)

Cache: 500GB M.2 SSD

 

 

 

 

This topic has been closed for replies.
Correct answer Martin_Ritter

In addition to Mylenium, replace the while-loop with a for-loop and give it a try:

 

for ( i = frame; i >= 0; i--){

    // you can skip "if (frame == 0){...}" and "frame --"

}

 

*Martin

2 replies

Mylenium
Legend
August 25, 2020

while() loops are dangerous in AE, 'cause they can effectively cause the expression engine to never stop evaluating. Presumably that's what's causing the freeze - the project is still in a locked state due to some calculation going on somewhere. I can only second Roland's point - figure out a different method to determine your triggers.

 

Mylenium

Martin_Ritter
Martin_RitterCorrect answer
Legend
August 25, 2020

In addition to Mylenium, replace the while-loop with a for-loop and give it a try:

 

for ( i = frame; i >= 0; i--){

    // you can skip "if (frame == 0){...}" and "frame --"

}

 

*Martin

Roland Kahlenberg
Legend
August 25, 2020

This doesn't look like a very complex MoGRT such that it'll freeze/crash AE.

And your description of looping the Comp to test for a value doesn't sound like an efficient way to trigger an animation –  look at an alternative algorithm to trigger the animation.

 

And if all fails, send in a Bug Report and ensure you add your project file to the report.

Very Advanced After Effects Training | Adaptive & Responsive Toolkits | Intelligent Design Assets (IDAs) | MoGraph Design System DEV
malten97351532
Known Participant
August 25, 2020

Thanks for your input. I have considered other algorithms and will replace the while loop with a for loop as per the feedback below. The problem is that since the animation start time for each label element is dependent on it's spatial position as well as the number of and position of elements before it I can't just evenly divide the timings between the elements. I might be able to come up with a time division script based on the slide percentages though... it's just much simpler to just check for a threshold transition instead, which is something that has been done by others succesfully.

 

What most confuses me is that the project works fine except when trying to export as a mogrt.