ManimCommunity / manim

A community-maintained Python framework for creating mathematical animations.
https://www.manim.community
MIT License
24.33k stars 1.7k forks source link

Number of cached files to keep by default : need external opinions #226

Closed huguesdevimeux closed 4 years ago

huguesdevimeux commented 4 years ago

So I'm doing #166 (scene-caching), and to summarize there is a functionality that clean the cache (the partial movies already generated) if there is more than X partial movie files.

The question was, how much this value should be initialized ?

Some people (@Aathish04 ) suggested to infinity. @Tony031218 suggested 70-100 (read his message https://github.com/ManimCommunity/manim/pull/166#discussion_r463542377) I personally suggest .. 10-15, as I think that generally people put no more than 10-15 wait and play calls per scene, as a lot of people render their movies in several scenes.

So I'm calling on your experience, how much play/wait calls are usually in your code ?

TonyCrane commented 4 years ago

There are many situations:

So I said that setting the default value to 70~100 is normal and not very much at all.

In my opinion, the cache should not be forced to be too small. The purpose of using the cache is to avoid repeated rendering when necessary, and the reserved video number may cause the cache to lose its meaning.

In addition, even if hundreds of cached videos are reserved, the space occupied is not very large. The partial video files generated by manim are generally between 20KB and 200KB. If each partial video is calculated as 100KB (in fact, it will be more less, generally around 50KB), even if 200 videos are reserved, it only needs 20MB of space. For the cache, this is not a big number (and you also have --flush_cache to flush the cache, so it will not cause confusion)

By the way, the source code of the first picture I sent in https://github.com/ManimCommunity/manim/pull/166#discussion_r463545155 is here, and you can see the log and download the rendered result video in the Artifacts of this action , and the video is in English :)

TonyCrane commented 4 years ago

And I asked briefly in the @manim-kindergarten's QQ group (most of these people are very experienced in using manim to make videos), and the results are these: result1 result2

(I suggest posting a poll on discord to get a wider range of opinions. If you do, can you send a link here)

huguesdevimeux commented 4 years ago

@Tony031218 You convinced me. If someone else wants to express their opinion, feel free :D

By the way, the source code of the first picture I sent in #166 (comment) is here, and you can see the log and download the rendered result video in the Artifacts of this action , and the video is in English :)

Very nice. Both the video and the action are very cool!

Aathish04 commented 4 years ago

So I'm calling on your experience, how much play/wait calls are usually in your code ?

In my longest scenes, the number of animations approaches 150-200. But usually, it's around 30-50 animations per scene.

huguesdevimeux commented 4 years ago

Ok, then considering the space occupied by these files and the numbers you just told, I will set the default value to 100. If you have any objection feel free to tell them directly in #166

Thank you again @Aathish04 @Tony031218 ! Closing this.