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
等其他競品的差距。