确定性动画烘焙引擎

你的壁纸一直在实时渲染。
烘焙一次就够了。

Periodica 分析 Wallpaper Engine 场景,通过数学建模协调其中可烘焙动画的周期,让画面形成首尾衔接的循环,再以视频形式播放。时钟、音乐响应等实时内容可以继续保留,在维持动态画面效果的同时,减少重复渲染的开销。它的首个应用是面向 Wallpaper Engine 的 WPE Baker。

开源 · 便携版 · 运行时不调用 AI 模型
示例成品 · 烘焙后的循环输出 · Lost Landscape 3(northway)
一个经过接缝检查的 50 秒、60 fps 循环,此处播放的文件仅 3.4 MB
−59.2%
最高 −97%
减少核显功耗
165 FPS
高刷壁纸满速播放
实时内容
保留实时控件
本地生成
无需上传壁纸或调用 AI
循环

回到同一刻。

帧对比工具通过画面寻找重复点;Periodica 则直接分析动画的数学关系,协调着色器时间、动画轨道、粒子循环和视频时间基准,为可烘焙的内容求解循环。彼此独立的视频组可以采用各自的周期,无需等待整个场景同时回到起点。拖动分隔线,可以比较上方循环的第一帧和最后一帧。

烘焙循环的最后一帧 烘焙循环的第一帧
第 1 帧第 3,000 帧
核显功耗 · W · 亚托莉 · 165 FPSA / B / B / A · 功耗变化示意
A · 原始场景 B · 烘焙输出 B · 烘焙输出 A · 原始场景 30 15 0 播放时间 → 25.6 W 2.2 W · −91%
原始场景烘焙输出
真正困难的部分

各组件的周期不同。
Periodica 将它们协调成循环。

假设一个波浪动画的周期是 7.3 秒,一个摆动是 11.1 秒,一个粒子循环是 4.6 秒,一段视频又是 20 秒,它们同时回到起点可能需要很长时间,未必适合直接录成循环视频。Periodica 分别求出每个组件的周期,在所选预算内微调播放速度,让需要共同播放的动画形成首尾衔接的循环。

预算

控制动画的调整幅度

三个精度预设限定了允许调整的幅度,即“可见变化预算”:效率(Efficiency)5%,平衡(Balanced)3%,质量(Quality)采用仍然能够闭合循环的最小改动。程序会优先寻找调整更小的方案,并在报告中列出实际采用的周期和调速幅度。

护栏

让周期调整尽量不影响观感

每个组件的调整幅度都有单独上限。对于周期很长的慢速运动,程序还会结合位移和速度变化判断能否闭合。无法满足条件的内容保留实时运行,报告会说明具体图层及原因。

验证

根据原始场景验证循环接缝

生成过程中,程序会追加渲染循环点附近的画面,检查编码后的接缝,并对照烘焙内容与实时图层合成后的结果。只有相应检查通过,输出才会被接受。

2.0 · 全新界面

拖入场景,得到结果。

2.0 采用先进的液态玻璃美学重新设计界面,将壁纸选择、生成方案和任务队列集中在同一窗口。程序可以自动读取当前壁纸,也支持拖入文件夹或场景文件;分析后调整精度、交互方式和输出规格,生成完成后直接预览、应用或导出成品。

01

选择当前壁纸,或拖入场景

程序会读取 Wallpaper Engine 当前使用的壁纸。你也可以直接拖入壁纸文件夹或场景文件,开始分析。

02

查看方案,调整输出

分析结果会列出可生成的内容和需要保留的实时部分。动画精度、交互处理、帧率与分辨率都可以在左侧调整,壁纸自身的可调属性也会一并显示。

03

生成、预览与应用

生成任务集中显示在右侧,可以查看进度和检查结果。完成后可在 Wallpaper Engine 中预览、应用到指定屏幕、导出 ZIP,或恢复之前的壁纸。

WPE Baker 2.0 液态玻璃界面:场景预览、生成设置与已完成的任务
WPE Baker 2.0 · 场景预览与任务管理。放大查看 ↗
实测数据

重复的代价。

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

Lost Landscape 3 壁纸预览
−59.2%Lost Landscape 33713073223 · 效果前缀
Alone 壁纸预览
−12.8%Alone3448877775 · 效果前缀
Nijika 壁纸预览
−29.9%Nijika3650475846 · 效果前缀
Frieren 壁纸预览
−31.6%Frieren3426865175 · 效果前缀
Atri 壁纸预览
−96.8%Atri3669681034 · 效果前缀
Ultraman Leo 壁纸预览
−84.1%Ultraman Leo3685247684 · 效果前缀 + 实时图层
壁纸原作核显功耗烘焙后变化CPU 封装:原作 → 烘焙后
Nijika (Bocchi the Rock!)365047584620.87 W14.63 W−29.9%31.80 → 26.51 W
Alone(日/夜场景)34488777755.52 W4.81 W−12.8%15.45 → 16.17 W
Atri — My Dear Moments36696810348.51 W0.27 W−96.8%17.85 → 9.26 W
Ultraman Leo36852476849.08 W1.44 W−84.1%19.58 → 11.58 W
Yuri35728777762.10 W0.48 W−77.4%11.59 → 9.45 W
Frieren — Pagoda of flowers342686517510.57 W7.23 W−31.6%19.62 → 19.64 W
Lost Landscape 337130732238.10 W3.30 W−59.2%17.96 → 13.61 W
Ayanami Rei32580324852.16 W0.14 W−93.4%11.23 → 8.72 W
接电 · 默认壁纸属性 · 平衡精度 · 每段采样 20 秒。页面展示的壁纸美术作品归各自的 Steam Workshop 作者所有。
刷新率

高刷照开,功耗更低。

随着播放帧率提高,原始场景需要实时渲染更多画面。将周期动画烘焙为视频后,视频解码器承担这部分播放工作,减少 3D 引擎逐帧重复渲染的负担。时钟、音频响应等保留的实时内容仍然按原有方式运行。

这个项目最初就是在一台使用 iGPU 的笔记本电脑上开始的。

壁纸 / 帧率原作核显功耗烘焙后变化CPU 封装:原作 → 烘焙后
Atri · 60 fps8.50 W0.30 W−96.5%16.53 → 9.33 W
Atri · 165 fps25.55 W2.19 W−91.4%37.67 → 12.84 W
Ayanami Rei · 120 fps8.75 W1.97 W−77.5%18.62 → 13.72 W
原作与成品均以屏幕原生分辨率输出(3072×1920),官方播放器,接电,A/B/B/A,每段采样 20 秒。
哪些内容会被烘焙

周期动画可以烘焙,
交互与实时内容分别处理。

烘焙进循环中的内容

  • 具有可证明周期的着色器动画,例如波浪、摆动、脉冲、滚动
  • 动画轨道、精灵图、粒子循环
  • 嵌入式视频循环及其时间基准
  • 静态美术资源,以完整分辨率保留

交互效果与实时内容

  • 鼠标视差与指针效果
  • 音频响应与频谱
  • 时钟、日期与昼夜切换
  • 交互面板与自定义脚本

交互处理提供“保留”“固定视角”和“关闭”三种模式,默认使用“固定视角”。

“保留”模式保留鼠标与音频响应。无论选择哪种模式,时钟、日期和媒体文本都会继续实时更新。

技术实现

从周期求解到离线渲染。

一张 Wallpaper Engine 场景可能包含数百种着色器变体、粒子系统、脚本控制器和视频图层。要把它们烘焙成循环,仅仅寻找两张相似的画面并不足够:程序需要知道动画如何随时间变化,以及哪些内容必须继续响应实时输入。

2.0 用着色器时间分析取代了旧版的周期方程库。程序对实际编译得到的 SPIR-V 进行抽象解释,沿数据流追踪时间变量,推导周期、持续漂移,以及经过一段时间后停止变化的动画。不必为每一种新效果单独编写方程,陌生的自定义着色器也可以进入分析。

求出周期之后,程序还会寻找能够局部调整的参数。一个效果里的水波、光晕和滚动不必再一起加速;程序将会分别协调能够独立调整的运动,彼此独立的视频组也将按各自的周期循环。

作者脚本同样纳入时间分析。恒定值、周期变化和只在开场发生的动画可以被识别;对于能够精确模拟的跨帧状态,程序会寻找状态重新出现的时刻。真正依赖鼠标、音频和时钟的内容则保留实时运行。

为了把烘焙结果放回原场景,Periodica 还需要处理透明度、混合顺序和 HDR 中间画面。超出普通视频范围的亮度经过映射存入视频,再由生成的着色器还原,使缓存后的内容能够继续参与作者原有的效果链。

引擎Periodica · 确定性动画烘焙
求解器SPIR-V 时间分析 · 脚本时间分析 · 局部调速
渲染器Vulkan 离线渲染 · 多线程 · 精确到帧
编码器H.264 / HEVC / AV1 · 已验证硬件解码
功耗测量官方播放器 · RAPL · A/B/B/A
运行时模型调用无
离线渲染

为离线生成重新设计渲染流程

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.22.0
可烘焙场景244 / 489440 / 489
覆盖率49.9%90.0%
热门作品22 / 4137 / 41
RTX 5090 D v2 4K · 3840×2160
壁纸渲染帧率 / FPSPeriodica
视频导出秒 · 倍实时
PeriodicaWebWallGLAlmamuPortghostMac
renderer
AnisPaper
Kirby246.5196.7121.6超时151.289.53.502.86×
亚托莉312.3241.6166.292.6162.098.63.582.79×
绫波丽342.7238.7199.6139.4207.995.43.313.03×
虹夏229.7172.4157.2超时150.087.63.333.00×
芙莉莲245.7195.0164.7142.5169.992.03.223.11×
Alone206.5172.5153.7超时152.571.93.562.81×
Lost Landscape 3244.1183.7159.3超时162.989.03.283.05×
土星138.3202.1不兼容超时不兼容不兼容11.441.75×
实时太阳系119.8120.1不兼容超时不兼容不兼容10.371.93×
德累斯顿299.8210.4179.2185.1185.694.13.153.18×
DELTARUNE Door343.1203.1超时超时超时超时4.322.31×
夜之城239.5193.7不兼容超时不兼容87.63.243.09×
Periodica
平均速度比
—1.37×1.68×2.38×1.67×3.12×2.74×实时
Periodica 接下来会走向哪里

下一块屏幕。

1.x · 已发布

Wallpaper Engine,Windows

将可重复的场景动画烘焙成视频,并与保留的实时内容一同放回原场景。Wallpaper Engine 是 Periodica 的第一个应用场景。

2.0

性能更新

以着色器和脚本时间分析取代逐项维护的周期方程,扩展可烘焙的动画范围。独立视频组采用各自的循环周期,完善 HDR 中间画面的处理,并减少生成过程中的数据回读、重复编码和等待。

2.x

通用世代

通过缓存、复用、预计算和确定性重放,让更多实时图层进入实用的烘焙范围,并引入基于 AI 加速的全新构建方案。

3.0

时域重建(Temporal reconstruction)

利用历史帧与运动信息重建画面,减少每一帧都从头渲染的工作,并探索 GPU 与 NPU 的协同加速。

FAQ

简短回答。

我最直接能得到什么?

让喜欢的动态壁纸以更低的功耗运行。

它能让每一张壁纸都更省资源吗?

轻量场景本身没有多少可节省的空间,工具会在渲染之前直接说明。功耗较高、以周期性动画为主的场景才是 13–97% 降幅的来源;以交互为主的场景则会烘焙其中确定性的核心部分,其余交互与实时内容分别处理。

烘焙后的循环看起来会和原始壁纸不一样吗?

可见变化预算由你选择:效率、平衡或质量。报告会逐项列出每一个被重新定时的组件及其精确百分比。接缝会根据原始场景自身的运动进行验证,通过之后输出才会被接受。

我需要准备什么?

Windows、Wallpaper Engine,以及一块用于离线渲染的 GPU。便携版没有安装程序,也不需要 Python。烘焙一个典型场景需要几分钟;播放时由视频解码器处理烘焙内容,保留的实时图层继续渲染。

它是开源的吗?

是。工具层采用 MIT 许可,渲染器采用 GPL v2;完整源码、第三方声明与构建记录都在仓库中。