最近一直在推进App的跨平台化,试过好几种方案,最后还是选了Rust + GPUI。最早的原型其实是用Electron搭的,但对于视频剪辑这类场景,Electron的问题越来越明显。 第一是性能瓶颈。视频预览、时间轴拖动、多轨素材叠加,这些操作在Electron里很容易触发UI卡顿,原生体验做不到位。第二是内存占用。Electron本身带了一个完整的Chromium,长时间剪辑后内存上涨得很厉害,用户如果同时开着浏览器和剪辑软件,电脑基本就吃不消了。第三是渲染路径。Electron的渲染链路偏重,而GPUI直接走GPU绘制,在视频画面缩放、转场预览时明显更跟手。 所以最终决定用Rust + GPUI重写。虽然GPUI生态还没有Electron那么成熟,但在这个项目里,性能和流畅度是优先项,这个取舍是值得的。如果你也在做性能敏感型的跨平台工具,这条路可以考虑。

打开网易新闻 查看精彩图片