Manim 渲染为什么慢?怎么加速?一份实测数据(Manim 0.21.0)
2026 年 9 月更新,测试版本 Manim Community Edition 0.21.0
先说结论。短场景慢,主要原因不在画面复杂:每次调用 manim render 大约有 2 秒固定开销,一个 3 秒的 2D 场景里,这 2 秒占了 92%。单次调用平均连 1 个 CPU 核都用不满。想提速,最管用的是把视频拆成几段并行渲染,并行数设成 CPU 性能核(P 核)的数量。manim 自带的并行编码参数,最多也就快 1.14 倍。
下面是我们在两台 Mac 上跑出来的数据,以及怎么复现。
测试环境
| 主测机 | 对照机 | |
|---|---|---|
| 芯片 | Apple M2(Mac mini) | Apple M1 Max |
| 核心 | 8 核 = 4 性能核 + 4 能效核 | 10 核 = 8 性能核 + 2 能效核 |
| 内存 | 8GB | 32GB |
| Manim | 0.21.0 | 0.21.0 |
| Python | 3.12.11(uv / python-build-standalone),两台用同一份 | 同左 |
每个任务都是一次真实的 python -m manim render … --format mp4,跟平时出片的流程一样,不是只导 PNG 帧。LaTeX 和文字的首次编译提前预热过,不计入耗时。每组配置跑 3 次取最短时间。所有配置输出的 MP4 必须字节级一致,对不上的整组作废。
2 秒的"入场费"
同一个场景,480p 和 1080p 的总耗时一模一样。像素量差了 3.5 倍,时间纹丝不动,说明每次 manim render 有大约 2.0 秒跟画面无关:启动 Python,导入 manim 和它的依赖,初始化场景,最后收尾写文件。
一个 3 秒的普通 2D 场景,这 2 秒占掉 92%。

做短视频的时候,如果把一堆小场景拆成十几个文件分别渲染,就等于交了十几次入场费。能合到一次调用里的,尽量合。
一次渲染用不满一个核
在 8 核机器上,单次 manim 调用的平均并行度只有 0.68 到 0.95 核。换句话说,电脑有 8 个核,渲染的时候 7 个在歇着。Manim 构建场景和逐帧绘制基本都是单线程。
并行数设成性能核数
把视频拆成多个片段或多个场景,同时开 W 个进程渲染:
| M2 mini(4 性能核) | M1 Max(8 性能核) | |
|---|---|---|
| 最高加速 | 5.03 倍 | 约 5.3 到 5.7 倍 |
| 拐点 | W 超过 4 以后效率腰斩 | 一直涨到 W = 8 |
两台机器指向同一个结论:拐点就在性能核的数量上。再往上加进程,只能挤到能效核上跑,效率掉得很快。并行数等于性能核数时,并行效率在 77% 到 87% 之间。

内存也得算。1080p 下每个并行进程大约占 350MB,8GB 的机器开 8 个进程就有点紧了。
M1 Max 那组测试时机器上还跑着别的任务(开跑前约 2.7 个核被占用),所以加速比按外部占用做了区间修正,写成 5.3 到 5.7 倍。
自带的并行编码参数帮不上大忙
--max-inflight-encoders 最多带来 1.14 倍的提升。已经开了多进程、核都占满了,再叠加这个参数反而变慢,M2 慢了 5%,M1 Max 慢了 4%。
手动给 libx264 指定线程数也会更慢,我们测到慢了 1.34 倍(单个场景实测)。它默认的自动策略已经够好,别去动。
顺带一提,并行编码不影响输出,所有配置产出的 MP4 字节数完全一样。
跨机器比速度前,先对齐 Python
同一台 M2 mini、同一份代码,只把 Python 从 Homebrew 版换成 uv 的 python-build-standalone,渲染快了约 5%,纯 Python 循环快了 41%。网上不少"某某芯片跑 Manim 更快"的对比,如果两边 Python 来源不一样,结论未必站得住。
后台负载的影响倒没想象中大。一个普通桌面程序那种量级的占用(约 12%)只让渲染慢了 2.5%。但性能核要是被占满,会慢 44%。
加速清单
- 合并短场景,少调几次
manim render,省掉重复的 2 秒开销。 - 拆段并行,并行数等于性能核数。Apple 芯片的性能核数量可以在「系统信息」里查到。
- 按内存定上限,1080p 每个进程按 350MB 算。
--max-inflight-encoders别和多进程并行叠着用。- libx264 的线程数别手动设。
- 预览可以用低分辨率(
-ql),不过短场景的瓶颈在固定开销,别指望它比 1080p 快多少。 - 公式多的场景,原生 LaTeX 流程第一次编译一个公式要几百毫秒,好在有缓存,第二次就快了。
手机上呢
如果你用 iPhone 或 iPad,可以看看「Manim教程 - 数学动画」这个 App,它把 Manim 0.21.0 装进了手机,在本机离线渲染。其中公式首次出图和峰值内存这两项有对照数据:同样在 M2 Mac mini 上测,第一次渲染新公式比原生 LaTeX 流程快 7.5 到 36 倍,峰值内存低 28% 到 38%。App 里「我的 → 工具 → 渲染基准」能测出你这台设备的速度,还能跟 Mac 上原生 Manim 的画面逐帧比对。
常见问题
为什么用 -ql 预览也要好几秒?
短场景大部分时间花在每次调用的固定开销上,约 2 秒,跟分辨率关系不大。
CPU 核越多,渲染越快吗?
单次渲染基本只用一个核。多核只有在你把任务拆开并行时才派得上用场,而且要看性能核有几个,不是总核数。
M2 渲染 Manim 比 M1 Max 快?
单个渲染任务,我们测到 M2 mini 比 M1 Max 快约 14%(已按 M1 Max 测试时的后台负载修正过;Manim 主要吃单核性能)。并行跑满时两台打平,M1 Max 多出来的性能核刚好抵掉单核上的差距。M1 Max 这组是在有负载的情况下测的,数字仅供参考。
数据采集于 2026 年 9 月 2 日。

浙公网安备 33010602011771号