Copy link to clipboard
Copied
I'm a 2D animator for a game studio and the last two characters I've worked on have been like pulling teeth by the end due to an issue I don't understand.
When I drill down deep into the symbol structure of the character (a vehicle with a driver) trying to leave the driver's face symbol will cause animate to freeze for about a minute. It never crashes, just takes forever to get back out. This doesn't happen with all the symbols but it is impacting my day job a considerate amount. I also get a hard freeze that I have to force close animate to when I am adjusting the stage size for the final export of the sprites.
Is the file too large? Is there a cache of files that's filled up somewhere that is causing this? Is this software actually just made of duct tape and beans?
File Specs: 481 items in the library, 977 frames of animation, 3.5mb file size, composed of lossless image assets from a photoshop PSD. Adobe Animate Version 24 Build 305.
Computer Specs: AMD Ryzen 7 2700X, 32.0GB Dual-Channel DDR4 @ 1066MHz RAM, 4095MB NVIDIA GeForce RTX 2070 (EVGA), file running off a 1TB SATA SSD.
Side problem: Animate has started importing PSDs improperly where the "asset" folder is stored outside of the PSD folder so it ends up making several copies of the "asset" folder and then the PSD folder where i expect the bitmap images to be is filled with symbols I can't access to do a bitmap swap. This software drives me up the wall.
Copy link to clipboard
Copied
copy the main timeline layers to a new fka saved to a new location.
Copy link to clipboard
Copied
For the side problem, select Layer Conversion > Single Flattened Bitmap in the import dialog. That way, the PSD layers won't be put inside Movie Clips in the library:
Copy link to clipboard
Copied
I'll give that a spin. The annoying deal is I've been selecting "Maintain Editable Paths and Effects" for the last year (on Animate 23 and 24 both) and it's worked up until like a week ago so why break now?
Copy link to clipboard
Copied
It might be different between v.23 and 24.
v.23 and earlier had some bugs with PSD imports; v.24 was just launched about a month ago:
https://helpx.adobe.com/animate/kb/fixed-issues.html
I don't know if the folder structure was modified as well, I'd have to download the previous version to check.
Copy link to clipboard
Copied
switched back to v.23 and it fixed the bitmap issue which is nice. Still trying to lock down the worst problem which is the massive slowdown from backing out of symbols.
Copy link to clipboard
Copied
Copy link to clipboard
Copied
No. It sets in after a few weeks of working on a character so it's obviously tied to amount of data created in the file. I have an idea on how to fix it for the future but I don't know how that will help me currently with getting this unit out the door.
Copy link to clipboard
Copied
do you have access to a computer with more ram?
Copy link to clipboard
Copied
Nope, 32GBs should be plenty though.
Copy link to clipboard
Copied
ok, then you'll have to manage.
Copy link to clipboard
Copied
Keep an eye on the symbol Use Count in the library:
Keyframes are counted as instances.
Since the introduction of the so-called Advanced Layers and hidden wrapper movie clips, compared to Flash CS6, Animate is much more prone to severe lag due to high use count.
A way to deal with this will be to duplicate the symbol, which will reset the use count, but you will also need to take into account nested instances.
Copy link to clipboard
Copied
That might be it. Taking a peek at it the head of the character (where the slowdown was happening) has the highest use count of 156. What would be a good number to keep it under? Would this also effect stuff like resizing the stage (it's crashing for me and a coworker when we try and do that. She's on v21 and I'm on v23). The stuff with the highest use count are stuff that I animate rumbles on so it's a lot of 2 frame loops copied over and over instead of just animating a single loop and then using the frame picker to repeat it, mostly cause I would get completely lost by the end of an animation with all the different timings and things to remember.
Copy link to clipboard
Copied
I've gone through and duplicated a lot of symbols down to 96 or less use count but I'm still experiencing slowdown. Is this issue just baked into the file now?
Copy link to clipboard
Copied
It is hard to tell without seeing the actual FLA.
It may also depend on the available hardware configuration, but basically a head with nested symbols is a typical place where the issue will manifest.
Do tests in a separate file to not create more problems for yourself while trying to solve this one.
You can try to create a complete clone, using Duplicate Symbol Recursive, as otherwise if you only duplicate the head container, it will still share eyes, mouth, etc. with the original head. Then when going in and out of those shared assets they will still need to update everywhere and you will experience the lag.
A personal anecdote:
Some time ago we had to abandon a good prototype for a revolutionary tool as we measured more than 10x worse performance in Animate compared to Flash. While Flash could handle up to 1 000 instances without lagging, Animate would be brought to its knees by 100-120 with the same set-up.
If you decide to share your FLA, I will have a look and may be able to provide better advice.
However, I understand well that much of professional work is done under NDA and most people just can't share files.
Copy link to clipboard
Copied
Yeah sadly I don't think work would be happy with me sharing the FLA but I think I have an idea on how to cut down on this problem in the future. Most of the high usage heavy symbols/bitmaps have lots of rumble loops (2 frame ups and downs copied for a couple hundred keyframes across like... 8-15 different symbols... it's a mess). I was doing it that way so I could maintain timing properly without having to worry about screwing up looping animations all over the place. For the next character I'll probably either split the animations among several FLAs to cut down on the amount of data being made or just learn to animate with a ton of short loops.
Copy link to clipboard
Copied
This seems like a reasonable explanation of the cause of the lag.
Better internal structure is likely to alleviate the problem and your plan how to tackle it sounds good.
Best of luck!