/home/amgsk

VSCodeのパフォーマンス最適化

· updatedAt: 2026/01/03 · amgsk

VSCodeはcode-flags.conf(もしくはargv.json)によって、パフォーマンスを最適化出来る。

X11版の設定

~/.config/code-flags.confの例(X11)
1
2
3
4
5
6
7
8
9
--enable-gpu-rasterization
--enable-zero-copy
--ignore-gpu-blocklist
--enable-features=VaapiVideoDecoderCanvasOopRasterizationRawDraw
--ozone-platform-hint=x11
--disable-software-rasterizer
--num-raster-threads=12
--disable-renderer-backgrounding
--enable-native-gpu-memory-buffers

Wayland版の設定

~/.config/code-flags.confの例(Wayland)
1
2
3
4
5
6
7
8
9
--enable-gpu-rasterization
--enable-zero-copy
--ignore-gpu-blocklist
--enable-features=UseOzonePlatform,VaapiVideoDecoderCanvasOopRasterizationRawDraw
--ozone-platform=wayland
--disable-software-rasterizer
--num-raster-threads=12
--disable-renderer-backgrounding
--enable-native-gpu-memory-buffers

自分はマークダウンをプレビューしながら書くことが多いが、スクロール時のレンダリングのモタツキが減った(気がする)のと、画面のリサイズ時の反応が早くなった(気がする)

16コア32スレッドのCPUを使っている人はとりあえず上記の値で良いんじゃないかなと。 環境は勿論、使い方によっても最適値は異なってくると思うので、num-raster-threadsの値は4か8辺りから試してみるのが良さそう。

設定について見ていく

  • GPU関連の最適化
    • --enable-gpu-rasterization: CPUではなくGPUでレンダリング処理を実行し、描画性能を向上
    • --enable-zero-copy: CPUとGPU間のメモリコピーを削減し、メモリ使用効率を改善
    • --enable-native-gpu-memory-buffers: GPUメモリを直接使用して、メモリアクセス速度を向上
  • ハードウェアアクセラレーション
    • --enable-features=VaapiVideoDecoderCanvasOopRasterizationRawDraw: Linux環境でのハードウェアビデオデコードとレンダリング最適化を有効化
  • マルチスレッド処理
    • --num-raster-threads=12: ラスタライゼーション(描画処理)で使用するスレッド数を12に設定し、マルチコア性能を活用する指定
  • レンダリング設定
    • --ozone-platform-hint=x11: X11ウィンドウシステム向けに最適化
    • --disable-renderer-backgrounding: バックグラウンドでもレンダリング性能を維持し、ウィンドウ切り替え時の応答性を向上
  • セキュリティ・安定性に影響するフラグ(注意)
    • --ignore-gpu-blocklist: 問題のあるGPUドライバでもGPU使用を強制(安定性リスク)
    • --disable-software-rasterizer: ソフトウェアレンダリングを無効化(GPU障害時のフォールバック削除)

ちなみに以下はLinux特有の設定値なので、Linux以外の人は設定しても多分無視されると思う。

X11向け

X11固有の設定
1
2
--enable-features=VaapiVideoDecoderCanvasOopRasterizationRawDraw
--ozone-platform-hint=x11

Wayland向け

Wayland固有の設定
1
2
--enable-features=UseOzonePlatform,VaapiVideoDecoderCanvasOopRasterizationRawDraw
--ozone-platform=wayland

Waylandの場合はUseOzonePlatformフラグを有効にし、--ozone-platform=waylandでプラットフォームを明示的に指定する必要がある。

設定は以下の方法があるが好きな方で良いと思う

  • ~/.config/code-flags.confで設定(WindowsやMacで出来るかは不明)
  • VSCodeのargv.jsonで設定

argv.jsonでやる場合、VSCodeのコマンドパレットでConfigure Runtime Argumentsと検索して実行するとエディタが開くので、そこに以下をペーストすると設定がでてくる。
設定後は再起動しプロセスリストやnvidia-smiでステータスを確認する。

Runtime Arguments

argv.json 最低限の設定コピペ用
1
2
3
4
5
6
7
{
  "enable-gpu-rasterization": true,
  "enable-zero-copy": true,
  "num-raster-threads": 4,
  "disable-renderer-backgrounding": true,
  "enable-native-gpu-memory-buffers": true
}