掲載済み (2026-09-26号)
155 177文字 • 1分

GitHub Copilotアプリで100万行超の巨大なPRを高速にレンダリングする技術

原題: Rendering huge pull requests in the GitHub Copilot app - The GitHub Blog

英語

掲載情報

2026年9月26日土曜日号 アネックス掲載

概要

GitHub Copilotアプリにおいて、100万行の差分と数百のコメントを持つ巨大なプルリクエストを高速かつスムーズに描画するための、新しい仮想化レンダリングアーキテクチャが解説されています。

詳細内容

GitHubのエンジニアリングチームは、巨大なプルリクエスト(PR)の閲覧体験を改善するため、レンダリングエンジンを再構築しました。主な技術的ブレイクスルーは、行高さが既知のコード部分と、描画されるまで高さが不明なコメント部分を分離して管理する「二重ジオメトリ(Dual Geometry)」システムです。これにより、コードの高速な仮想化描画を維持しつつ、動的なコメント挿入によるレイアウトの崩れやスクロールのジャンプを防いでいます。また、ResizeObserverによる無闇なリフローを避けるための「アイドル/スクロール連動型計測スケジューラ」や、表示箇所をピクセルではなくIDで固定する「スクロールアンカリング」を実装。さらに、ヘッドレスプロンプトとオートパイロットを用いた自動計測ループを構築することで、手動では発見困難なパフォーマンスのボトルネックを機械的に特定・修正するワークフローを確立しました。