Ability to cache results? Very slow performance
The alembic plugin works in principle, but performance for large files is really slow (5-10 fps).
I do understand that playback might not be smooth on the first run, but I would like to see an option to keep mesh results in RAM, because right now it's pretty difficult to play back large files since it seems all meshes are re-uploaded every frame.
Deleting objects from the scene results in these meshes still being calculated, so there is no current way to optimize performance than to split/optimize the alembic file itself, which I'd like to avoid.
- .abc file or project data that can reproduce the issue I can share that in private if you send me a mail address / a way to transfer it non-publicly. It's a 500MB abc file with 60 frames.
- version of AlembicForUnity you are using 20180205
Sorry for the late reply. We are aware of the performance problems with alembics. I cannot give you a timeline however as to when they will be fixed. For now I think the best you can do is optimize it by hand unfortunately.
Thanks for the reply.
I ended up writing a brute-force Mesh cache script that basically buffers all generated Alembic meshes and, if that specific frame has been used before, just uses the buffered mesh instead of the Alembic file. This is super unoptimized though as it saves a full copy of the whole mesh each frame, even if the object is static.
(you can see the caching in action here: https://herbst.itch.io/jumping-rabbit - basically with the alembic plugin performance is somewhere around 1-2fps, with caching it goes back to 60 but obviously eats a ton of RAM)