Windows Terminal 性能再惹爭議,難度相當(dāng)于博士項(xiàng)目?
游戲引擎開發(fā)者和 Handmade Hero 項(xiàng)目的作者 Casey Muratori 在 Windows Terminal(以下簡稱為 WT)的 GitHub 倉庫中發(fā)布了一個關(guān)于 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 被認(rèn)為 “把一個可以作為博士研究項(xiàng)目的問題看得過于簡單”,并且該 issue 隨后被關(guān)閉。
此后,Casey Muratori 直接在其 Handmade Hero 頻道中發(fā)布了一個名為 “How fast should an unoptimized terminal run?” 的視頻,視頻中給出了相應(yīng)的參考實(shí)現(xiàn) RefTerm 作為對比,并詳細(xì)描述 WT 的性能問題。該 RefTerm 支持回滾、換行、Unicode組合、RTL-over-LTR、多色字體、實(shí)時改變字體,渲染速度達(dá)幾千 FPS。
不過,也有開發(fā)者對 Casey Muratori 在視頻中實(shí)現(xiàn)的 RefTerm 提出了質(zhì)疑,其看法主要包括:
構(gòu)建時使用 /GS- /Gs999999set 命令行參數(shù),這會禁用安全功能并且影響性能,而終端應(yīng)用程序的主要工作是解析不受信任的輸入。
該應(yīng)用程序使用 0.5% 的 CPU 和高達(dá) 14% 的 GPU 來顯示閃爍的光標(biāo),這并不高效。并且 RefTerm 應(yīng)用程序在空閑時使用 351 MB 內(nèi)存(使用 4k 顯示器運(yùn)行),而終端可接受的內(nèi)存使用量約為 10-20 MB。
可靠性不足。終端是一個高風(fēng)險的應(yīng)用程序,因?yàn)樗仨毥馕龃罅坎皇苄湃蔚奈谋荆?RefTerm 中運(yùn)行 splat refterm_debug_msvc.pdb 會導(dǎo)致 RefTerm 立即凍結(jié)并占用 100% 的 CPU。應(yīng)用程序窗口無法關(guān)閉,只能通過任務(wù)管理器殺死。
目前,一個該 issue 的克隆已經(jīng)發(fā)布(原 issue 已關(guān)閉),并且同時打開了一個添加基于字形圖集的 DxRenderer 的 issue,感興趣者可以前往了解最新信息。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Windows Terminal 性能再惹爭議,難度相當(dāng)于博士項(xiàng)目?
本文地址:https://www.oschina.net/news/149135/wt-performance-issue-discuss