WebGL Without a GPU
This article explores how to run WebGL rendering without a physical GPU by using software-based graphics processing. It discusses the technical challenges, performance implications, and practical use cases for GPU-less WebGL environments, such as server-side rendering and CI/CD testing pipelines.
背景メモ
- MicrolinkはWebページのメタデータを抽出し、プレビューカードを生成するAPIサービス。リンク先のOGP画像・タイトル・説明文などを取得する機能を提供している。
- 通常、WebGL(ブラウザ上で3Dグラフィックスを描画するAPI)のスクリーンショット撮影にはGPUが必要だが、GPU非搭載のサーバー環境(CI/CD、Lambda関数など)では動作しないという問題がある。
- 本記事は、GPUなしの環境でもソフトウェアレンダリング(MesaのLLVMpipeやSwiftShader)を用いてWebGLコンテンツをレンダリングし、スクリーンショットを取得する手法を紹介している。
- 関連技術:Mesa(オープンソースのグラフィックスドライバ群)、llvmpipe(CPUベースのソフトウェアラスタライザ)、SwiftShader(Google製のCPUベースのVulkan/OpenGL実装)。