VS Code (Visual Studio Code) 對技術的細緻
VS Code (Visual Studio Code) 對技術的細緻,或許才是拉大與其他競品距離的主要原因。
VS Code 的快速興起,引起了不少人的討論。這篇沒有想要討論這麼大的議題,而是單純分享 VS Code 對於技術細節堅持的故事。
Integrated Terminal Performance Improvements 這篇文章已是 2017 年的舊聞,但仍值得再次提出來分享。
VS Code 是基於 Electron 框架的實現,一般工程師對於 Terminal 這種大量純粹基於 Cursor 和 Characters 的實現,都會習慣用 DOM 來渲染,好處是直覺又簡單。
但是 VS Code 團隊決定改用 Canvas 實現,據官方說法有幾個優點,
- 可以只基於「變化」之處重新渲染,也就是當畫面變動時,可以只基於有變動之處重繪,速度更快,但工程處理的邏輯相對複雜許多。
- 若機器有 GPU,可以基於 GPU 提速。相較 DOM 渲染為了要節約 CPU,所以只能處理低於 10 FPS,而 Canvas 可以達到 60 FPS。
或許也就是這些小細節的累積,漸漸拉大了 VS Code 與 Atom 等其他競品的差距。
