Periodica 分析 Wallpaper Engine 场景,通过数学建模协调其中可烘焙动画的周期,让画面形成首尾衔接的循环,再以视频形式播放。时钟、音乐响应等实时内容可以继续保留,在维持动态画面效果的同时,减少重复渲染的开销。它的首个应用是面向 Wallpaper Engine 的 WPE Baker。
帧对比工具通过画面寻找重复点;Periodica 则直接分析动画的数学关系,协调着色器时间、动画轨道、粒子循环和视频时间基准,为可烘焙的内容求解循环。彼此独立的视频组可以采用各自的周期,无需等待整个场景同时回到起点。拖动分隔线,可以比较上方循环的第一帧和最后一帧。
第 1 帧第 3,000 帧
假设一个波浪动画的周期是 7.3 秒,一个摆动是 11.1 秒,一个粒子循环是 4.6 秒,一段视频又是 20 秒,它们同时回到起点可能需要很长时间,未必适合直接录成循环视频。Periodica 分别求出每个组件的周期,在所选预算内微调播放速度,让需要共同播放的动画形成首尾衔接的循环。
三个精度预设限定了允许调整的幅度,即“可见变化预算”:效率(Efficiency)5%,平衡(Balanced)3%,质量(Quality)采用仍然能够闭合循环的最小改动。程序会优先寻找调整更小的方案,并在报告中列出实际采用的周期和调速幅度。
每个组件的调整幅度都有单独上限。对于周期很长的慢速运动,程序还会结合位移和速度变化判断能否闭合。无法满足条件的内容保留实时运行,报告会说明具体图层及原因。
生成过程中,程序会追加渲染循环点附近的画面,检查编码后的接缝,并对照烘焙内容与实时图层合成后的结果。只有相应检查通过,输出才会被接受。
2.0 采用先进的液态玻璃美学重新设计界面,将壁纸选择、生成方案和任务队列集中在同一窗口。程序可以自动读取当前壁纸,也支持拖入文件夹或场景文件;分析后调整精度、交互方式和输出规格,生成完成后直接预览、应用或导出成品。
程序会读取 Wallpaper Engine 当前使用的壁纸。你也可以直接拖入壁纸文件夹或场景文件,开始分析。
分析结果会列出可生成的内容和需要保留的实时部分。动画精度、交互处理、帧率与分辨率都可以在左侧调整,壁纸自身的可调属性也会一并显示。
生成任务集中显示在右侧,可以查看进度和检查结果。完成后可在 Wallpaper Engine 中预览、应用到指定屏幕、导出 ZIP,或恢复之前的壁纸。

测试平台为搭载 Intel Arc B390 的笔记本电脑,使用官方 Wallpaper Engine,以 A/B/B/A 顺序对照原始场景与烘焙输出。成品设置为 1920×1080、60 fps,采用平衡精度和默认壁纸属性;原作在 3072×1920 屏幕上正常渲染。核显功耗与 CPU 封装功耗分别记录。






| 壁纸 | 原作核显功耗 | 烘焙后 | 变化 | CPU 封装:原作 → 烘焙后 |
|---|---|---|---|---|
| Nijika (Bocchi the Rock!)3650475846 | 20.87 W | 14.63 W | −29.9% | 31.80 → 26.51 W |
| Alone(日/夜场景)3448877775 | 5.52 W | 4.81 W | −12.8% | 15.45 → 16.17 W |
| Atri — My Dear Moments3669681034 | 8.51 W | 0.27 W | −96.8% | 17.85 → 9.26 W |
| Ultraman Leo3685247684 | 9.08 W | 1.44 W | −84.1% | 19.58 → 11.58 W |
| Yuri3572877776 | 2.10 W | 0.48 W | −77.4% | 11.59 → 9.45 W |
| Frieren — Pagoda of flowers3426865175 | 10.57 W | 7.23 W | −31.6% | 19.62 → 19.64 W |
| Lost Landscape 33713073223 | 8.10 W | 3.30 W | −59.2% | 17.96 → 13.61 W |
| Ayanami Rei3258032485 | 2.16 W | 0.14 W | −93.4% | 11.23 → 8.72 W |
随着播放帧率提高,原始场景需要实时渲染更多画面。将周期动画烘焙为视频后,视频解码器承担这部分播放工作,减少 3D 引擎逐帧重复渲染的负担。时钟、音频响应等保留的实时内容仍然按原有方式运行。
这个项目最初就是在一台使用 iGPU 的笔记本电脑上开始的。
| 壁纸 / 帧率 | 原作核显功耗 | 烘焙后 | 变化 | CPU 封装:原作 → 烘焙后 |
|---|---|---|---|---|
| Atri · 60 fps | 8.50 W | 0.30 W | −96.5% | 16.53 → 9.33 W |
| Atri · 165 fps | 25.55 W | 2.19 W | −91.4% | 37.67 → 12.84 W |
| Ayanami Rei · 120 fps | 8.75 W | 1.97 W | −77.5% | 18.62 → 13.72 W |
交互处理提供“保留”“固定视角”和“关闭”三种模式,默认使用“固定视角”。
“保留”模式保留鼠标与音频响应。无论选择哪种模式,时钟、日期和媒体文本都会继续实时更新。
一张 Wallpaper Engine 场景可能包含数百种着色器变体、粒子系统、脚本控制器和视频图层。要把它们烘焙成循环,仅仅寻找两张相似的画面并不足够:程序需要知道动画如何随时间变化,以及哪些内容必须继续响应实时输入。
2.0 用着色器时间分析取代了旧版的周期方程库。程序对实际编译得到的 SPIR-V 进行抽象解释,沿数据流追踪时间变量,推导周期、持续漂移,以及经过一段时间后停止变化的动画。不必为每一种新效果单独编写方程,陌生的自定义着色器也可以进入分析。
求出周期之后,程序还会寻找能够局部调整的参数。一个效果里的水波、光晕和滚动不必再一起加速;程序将会分别协调能够独立调整的运动,彼此独立的视频组也将按各自的周期循环。
作者脚本同样纳入时间分析。恒定值、周期变化和只在开场发生的动画可以被识别;对于能够精确模拟的跨帧状态,程序会寻找状态重新出现的时刻。真正依赖鼠标、音频和时钟的内容则保留实时运行。
为了把烘焙结果放回原场景,Periodica 还需要处理透明度、混合顺序和 HDR 中间画面。超出普通视频范围的亮度经过映射存入视频,再由生成的着色器还原,使缓存后的内容能够继续参与作者原有的效果链。
Periodica 在 open-wallpaper-engine 的基础上,重构了场景执行与 Vulkan 离线渲染流程。着色器、脚本、粒子和视频按确定的时间步推进,模拟、绘制与采样分别调度:预热不再反复读回随后丢弃的画面,起点搜索只绘制需要比较的帧,独立的视频组按各自的周期生成。
旧版烘焙过程中,透明画面需要经过整帧回读、CPU 扫描、无损母版和二次编码。2.0 将裁剪、透明度处理与循环淡化接入 GPU 流程,再直接送入硬件编码器,减少数据往返、中间文件和重复计算。性能提升来自整条生成流程的改造。
在 RTX 5090 D v2 的同场景对照中,4K 完整烘焙耗时由约 15 分钟缩短至 36 秒,提速约 25 倍。另一项 4K 长场景测试中,从分析到生成达到 3.5 倍实时,约 3 分钟完成 10 分钟的 4K 60 FPS 动画。
为了 2.0 的发布,我们围绕兼容性与生成效率进行了充分打磨:以 489 张真实创意工坊壁纸进行兼容性回归,并选取 12 张不同类型的场景完成 4K 渲染与视频导出测试。
在同一批壁纸中,可烘焙场景从 1.0.2 的 244 张扩展到 440 张,覆盖率达到 90.0%。纳入测试的 41 张热门作品中,覆盖数量从 22 张增加到 37 张。
性能测试以五款开源渲染器的实测结果作为参考。在 RTX 5090 D v2 的 4K 场景测试中,Periodica 的平均渲染速度为参考结果的 1.37–3.12 倍,视频导出平均为 2.74 倍实时。
| 回归覆盖 | 1.0.2 | 2.0 |
|---|---|---|
| 可烘焙场景 | 244 / 489 | 440 / 489 |
| 覆盖率 | 49.9% | 90.0% |
| 热门作品 | 22 / 41 | 37 / 41 |
| 壁纸 | 渲染帧率 / FPS | Periodica 视频导出秒 · 倍实时 | |||||
|---|---|---|---|---|---|---|---|
| Periodica | WebWallGL | Almamu | Portghost | Mac renderer | AnisPaper | ||
| Kirby | 246.5 | 196.7 | 121.6 | 超时 | 151.2 | 89.5 | 3.502.86× |
| 亚托莉 | 312.3 | 241.6 | 166.2 | 92.6 | 162.0 | 98.6 | 3.582.79× |
| 绫波丽 | 342.7 | 238.7 | 199.6 | 139.4 | 207.9 | 95.4 | 3.313.03× |
| 虹夏 | 229.7 | 172.4 | 157.2 | 超时 | 150.0 | 87.6 | 3.333.00× |
| 芙莉莲 | 245.7 | 195.0 | 164.7 | 142.5 | 169.9 | 92.0 | 3.223.11× |
| Alone | 206.5 | 172.5 | 153.7 | 超时 | 152.5 | 71.9 | 3.562.81× |
| Lost Landscape 3 | 244.1 | 183.7 | 159.3 | 超时 | 162.9 | 89.0 | 3.283.05× |
| 土星 | 138.3 | 202.1 | 不兼容 | 超时 | 不兼容 | 不兼容 | 11.441.75× |
| 实时太阳系 | 119.8 | 120.1 | 不兼容 | 超时 | 不兼容 | 不兼容 | 10.371.93× |
| 德累斯顿 | 299.8 | 210.4 | 179.2 | 185.1 | 185.6 | 94.1 | 3.153.18× |
| DELTARUNE Door | 343.1 | 203.1 | 超时 | 超时 | 超时 | 超时 | 4.322.31× |
| 夜之城 | 239.5 | 193.7 | 不兼容 | 超时 | 不兼容 | 87.6 | 3.243.09× |
| Periodica 平均速度比 | — | 1.37× | 1.68× | 2.38× | 1.67× | 3.12× | 2.74×实时 |
将可重复的场景动画烘焙成视频,并与保留的实时内容一同放回原场景。Wallpaper Engine 是 Periodica 的第一个应用场景。
以着色器和脚本时间分析取代逐项维护的周期方程,扩展可烘焙的动画范围。独立视频组采用各自的循环周期,完善 HDR 中间画面的处理,并减少生成过程中的数据回读、重复编码和等待。
通过缓存、复用、预计算和确定性重放,让更多实时图层进入实用的烘焙范围,并引入基于 AI 加速的全新构建方案。
利用历史帧与运动信息重建画面,减少每一帧都从头渲染的工作,并探索 GPU 与 NPU 的协同加速。
让喜欢的动态壁纸以更低的功耗运行。
轻量场景本身没有多少可节省的空间,工具会在渲染之前直接说明。功耗较高、以周期性动画为主的场景才是 13–97% 降幅的来源;以交互为主的场景则会烘焙其中确定性的核心部分,其余交互与实时内容分别处理。
可见变化预算由你选择:效率、平衡或质量。报告会逐项列出每一个被重新定时的组件及其精确百分比。接缝会根据原始场景自身的运动进行验证,通过之后输出才会被接受。
Windows、Wallpaper Engine,以及一块用于离线渲染的 GPU。便携版没有安装程序,也不需要 Python。烘焙一个典型场景需要几分钟;播放时由视频解码器处理烘焙内容,保留的实时图层继续渲染。
是。工具层采用 MIT 许可,渲染器采用 GPL v2;完整源码、第三方声明与构建记录都在仓库中。