← 文章 / 开源项目
Simon Willison 2小时前 · 2026-09-07 17:49:23 · 2 阅读

引用 Rick Brewster

Direct2D 一直是 Paint.NET 在 WINE 上的最大障碍,显然它永远无法完善到满足 Paint.NET 的需求。而我不能简单地“禁用” Direct2D。于是,**Paint.NET 现在内置了一套从零开始、通过干净-room逆向工程重写的 Direct2D 实现(在 WINE 上使用时通过 /wine 参数触发)**,代码位于 **PaintDotNet.Windows.Direct2D1.Managed.dll** 中。这段代码由我们的好朋友 Claude 编写,没有它这一切根本不可能实现,也永远不会发生。[...]

正如人们所说的,这段代码大部分是“凭感觉写出来的”。我的意思是它并没有经过彻底审查,更像是“信我 bro”风格。我根本不可能去审查 18 万行代码,数量实在太多了。作为参考,Paint.NET 的其余部分约有 70 万行代码,而我已为此投入了二十多年。[...]

有时,Claude 的工作状态如同 10 个刚被解开封印的爱因斯坦级别天才、效率翻 10 倍的程序员般充满激情;而其他时候……嗯,那就差得远了。我必须时时盯着 Claude,确保它能正确处理资源管理(有段时间它竟然没对引用计数对象做 COM 的 AddRef() 等价操作, Oops)。当我发现一些非常糟糕的设计或架构决策时,也得敲打几下它。同时,我对它在实现 Direct2D 内置效果库时展现出的巧妙且不知疲倦的逆向工程工作印象深刻,它成功推导出了所需的全部公式。

—— Rick Brewster,Paint.NET 作者

原始来源: Simon Willison

评论 (0)