游戏引擎开发者和 Handmade Hero 项目的作者 Casey Muratori 在 Windows Terminal(以下简称为 WT)的 GitHub 仓库中发布了一个关于 WT 性能的 issue(Extremely slow performance when processing virtual terminal sequences),引发了激烈的讨论。
Casey Muratori 在 issue 中指出,WT 在渲染彩色字符时比单色字符慢约 40 倍,并附上了用来测试的 benchmark 程序 TermBench。之后 Casey Muratori 与 WT 的成员在 issue 下展开了讨论,然而并没有得出统一意见,Casey Muratori 被认为 “把一个可以作为博士研究项目的问题看得过于简单”,并且该 issue 随后被关闭。
此后,Casey Muratori 直接在其 Handmade Hero 频道中发布了一个名为 “How fast should an unoptimized terminal run?” 的视频,视频中给出了相应的参考实现 RefTerm 作为对比,并详细描述 WT 的性能问题。该 RefTerm 支持回滚、换行、Unicode组合、RTL-over-LTR、多色字体、实时改变字体,渲染速度达几千 FPS。
不过,也有开发者对 Casey Muratori 在视频中实现的 RefTerm 提出了质疑,其看法主要包括:
目前,一个该 issue 的克隆已经发布(原 issue 已关闭),并且同时打开了一个添加基于字形图集的 DxRenderer 的 issue,感兴趣者可以前往了解最新信息。
(文/开源中国)