Windows Terminal 性能再惹爭議,難度相當于博士項目?
游戲引擎開發(fā)者和 Handmade Hero 項目的作者 Casey Muratori 在 Windows Terminal(以下簡稱為 WT)的 GitHub 倉庫中發(fā)布了一個關于 WT 性能的 issue(Extremely slow performance when processing virtual terminal sequences),引發(fā)了激烈的討論。
Casey Muratori 在 issue 中指出,WT 在渲染彩色字符時比單色字符慢約 40 倍,并附上了用來測試的 benchmark 程序 TermBench。之后 Casey Muratori 與 WT 的成員在 issue 下展開了討論,然而并沒有得出統(tǒng)一意見,Casey Muratori 被認為 “把一個可以作為博士研究項目的問題看得過于簡單”,并且該 issue 隨后被關閉。
此后,Casey Muratori 直接在其 Handmade Hero 頻道中發(fā)布了一個名為 “How fast should an unoptimized terminal run?” 的視頻,視頻中給出了相應的參考實現(xiàn) RefTerm 作為對比,并詳細描述 WT 的性能問題。該 RefTerm 支持回滾、換行、Unicode組合、RTL-over-LTR、多色字體、實時改變字體,渲染速度達幾千 FPS。
不過,也有開發(fā)者對 Casey Muratori 在視頻中實現(xiàn)的 RefTerm 提出了質疑,其看法主要包括:
構建時使用 /GS- /Gs999999set 命令行參數(shù),這會禁用安全功能并且影響性能,而終端應用程序的主要工作是解析不受信任的輸入。
該應用程序使用 0.5% 的 CPU 和高達 14% 的 GPU 來顯示閃爍的光標,這并不高效。并且 RefTerm 應用程序在空閑時使用 351 MB 內存(使用 4k 顯示器運行),而終端可接受的內存使用量約為 10-20 MB。
可靠性不足。終端是一個高風險的應用程序,因為它必須解析大量不受信任的文本,而在 RefTerm 中運行 splat refterm_debug_msvc.pdb 會導致 RefTerm 立即凍結并占用 100% 的 CPU。應用程序窗口無法關閉,只能通過任務管理器殺死。
目前,一個該 issue 的克隆已經(jīng)發(fā)布(原 issue 已關閉),并且同時打開了一個添加基于字形圖集的 DxRenderer 的 issue,感興趣者可以前往了解最新信息。
本文轉自OSCHINA
本文標題:Windows Terminal 性能再惹爭議,難度相當于博士項目?
本文地址:https://www.oschina.net/news/149135/wt-performance-issue-discuss




























