Krita 2024 年工作展望
2024 年已经过去了 3 个月。和去年一样,我们聚集起全部受 Krita 项目赞助的开发人员、画师、志愿者等举行了一场视频会议,总结我们去年的工作成绩、对今年的重要课题进行展望并对各项工作的优先程度做出规划。
Krita 在 2024 年面临的主要挑战
Krita 在 2024 年面临的一个比较严峻的问题是负责 Krita 的安卓、ChromeOS 版本移植的维护者 Sharaf 的生活变得忙碌,无法为 Krita 全职工作了。Krita 的安卓和 ChromeOS 版本均运行在安卓平台,这个平台经常会发生许多任性的调整。Sharaf 之前的大部分时间都在为了处理兼容性问题疲于奔命,无法按照原本的规划为安卓版本开发专门的平板界面。现在由于连安卓版本的基础维护都停滞了,我们在这个平台面临极大的挑战。不仅如此,因为 KDE 关停了编译服务器,转而使用 invent.kde.org 的 GitLab 持续性整合系统构建可执行软件,我们不再能够自动构建安卓分支的测试版本。
我们还少了另一位受项目赞助的开发人员。TA 身体不适已经有很长一段时间,最近在博客上表示自己要从事一份不同的工作了。TA 之前在 Krita 项目主要负责维护 Krita 所需的各种程序库,而且极为擅长处理上游项目相关的程序缺陷修复。我们将非常怀念有 TA 的日子。
最后一个问题则是去年我们终于设法将 Krita 在苹果 macOS 软件商店上架了。但 Krita 的项目维护者,也就是本文作者,在两年前更改了自己的法律姓名。现在用于在 macOS 软件商店中签署 Krita 软件包的证书已经过期,我们需要创建新的证书,这需要提供软件包签署者的当前法律姓名。然而我们发现 macOS 商店不允许同一开发者在同一 ID 下面使用另一个法律姓名上传软件包。我们正在处理这个问题。
Krita 2023 年工作回顾
我们在 2023 年发布了Krita 5.2 和它的两次小版本更新以修复程序缺陷。我们将在发布 Krita 5.3 之前再发布至少两次小版本更新以修复更多的程序缺陷。
Krita 的动画音频系统进行了彻底重写,从 Qt 的 QtMultimedia 系统移植到了 MLT。分镜头脚本功能得到了大幅改进。我们实现了 JPEG-XL 支持 (结果没过几天 Google 的砍刀部就以缺乏支持为由放弃了在 Chrome 的 JPEG-XL 支持)。我们还重新构筑了在全部平台上用于构建依赖程序库的系统。macOS 版本依然在尽力开发,但目前卡在 PyQt 上。除此之外我们也进行了大量其他工作。
Wolthera 完成了重写文字对象引擎的大部分工作。她现在正在编写使用新引擎编辑、排版文字的新版文字工具。这对于 Krita 的文字功能将是一次意义巨大的升级。
Krita 2024 年工作展望
这个工作展望列表中的内容有些是新增的,也有从去年转到今年的。
必须解决的问题:现在 KDE 项目已经发布了基于 Qt6 的 KDE 程序框架的首个版本。这也意味着我们也必须将 Krita 移植到 Qt6。这将是一项艰巨的任务,这一方面是因为 Qt6 缺少了一部分 Qt5 的功能,另一方面则是它的 GPU 渲染支持发生了变化。在 Windows 下面,显卡的 OpenGL 驱动程序往往有很多问题。为了改善这个问题,Qt5 支持通过使用 ANGLE 兼容层来把应用程序的 OpenGL 指令转换成原生的 Direct3D GPU 渲染库指令。Qt6 已经不支持这个功能,这意味着我们要么重写 GPU 的渲染系统,要么自行实现 ANGLE 支持。
总的来说,移植到 Qt6 分走我们原本可以用于实现新功能的大量时间和精力。不过一旦完成移植,我们将可以着手开发平板专用的界面,前提是到时候我们还能发布安卓版本。
这并不是说我们就不打算开发新功能了,我们依然有许多工程正在进行中。
正在开发的新功能的简单列表:
- 实现整合了文字对象的对话气泡系统,让文字可以随着对话框的变化自动调整排版。
- 实现一种新的图层类型,用于制作漫画分格。
- 提供与 Blender 的集成功能。(这个功能并不是优先事项,因为已经有一款不错的第三方插件可以做这件事:Blender Layer)
- 开发新的面板系统以取代现在的系统,让它们更加灵活且便于维护。
- 实现一套用于提供工具预设的系统。
- 实现一套新的界面来处理色板。
- 添加动画音频波形显示功能。
- 添加动画的参考帧工作流程的支持。
我们还讨论了如何使用 GPU 来提高性能。我们最初的想法是使用 GPU 来渲染笔刷,但参会的画师们认为 Krita 现在的笔刷性能已经足够好了,真正慢得难以忍受的其实是液化变形工具、变形蒙版和某些滤镜。
- Dmitry 将对如何使用 GPU 优化变形蒙版的性能进行调研。
最后是争议最大的问题:我们是否应该向 Krita 加入所谓的 AI 功能?我们的开发者和画师们在邮件列表和开发网站上就这个问题进行了尖锐的辩论。
参加这次会议的画师认为生成式 AI 对于实际创作并无大用,只能生成索然无味的,套路明显的模板化作品。但他们认为辅助式 AI 可能会更加有用。我们将展开对草图进行 AI 辅助描线的调研,目标是在减轻画师们繁重的描线压力的同时保持创作的个性。我们现在还不能确定相关功能是否能够成为现实,但至少我们希望第一手的调研能帮助我们看清问题的全貌,确定 AI 的可能用途和伴生的问题。
注意:我们不会使用基于未经原作者允许的材料的模型,并将致力于将相关功能的能耗限制在在合理的范畴。