プログラミング
Skiaによる描画のためのコンパイラ風最適化
Compiler-style optimization for drawing via Skia (arxiv.org)
要約
本論文では、2DラスタライゼーションライブラリであるSkiaの効率を向上させるための新しいアプローチを提案しています。研究者たちは、Skiaの複雑なセマンティクスと実行モデルに起因する非効率性を特定し、形式的な意味論「μSkia」を開発しました。これにより、Google Chromeが生成する非効率な描画コードパターンを検出し、最適化することで、GPUバックエンドと比較して18.7%の高速化を実現しました。
全文翻訳
コンピュータサイエンス > プログラミング言語
arXiv:2603.23696 (cs) [2026年3月24日提出]
タイトル: 2Dラスタライゼーションの意味論
著者: Bhargav Kulkarni, Henry Whiting, Pavel Panchekha
Bhargav Kulkarniと他の2名の著者による「2Dラスタライゼーションの意味論」というタイトルの論文のPDFを表示
PDFを表示 HTML (実験的)
概要:
ラスタライゼーションは、アプリケーションによって描画される各ピクセルの色を決定するプロセスです。Skia、CoreGraphics、Direct2Dのような強力なラスタライゼーションライブラリは、描画、ブレンド、レンダリングを効率的に行うために多大な努力を払っています。しかし、アプリケーションは、これらのライブラリに実行させる操作のシーケンスが非効率であるために、依然として妨げられています。Skiaラスタライゼーションライブラリと共同開発された高度に最適化されたプログラムであるGoogle Chromeでさえ、上位100の最も訪問されたウェブサイトでさえ、非効率な命令シーケンスを生成しています。
この非効率性の根本的な理由は、ラスタライゼーションライブラリが複雑なセマンティクスと不透明で明白でない実行モデルを持っていることです。この問題に対処するために、Skia 2Dグラフィックスライブラリの形式的な意味論であるμSkiaを導入し、Leanでこの意味論を機械化します。μSkiaは、キャンバス状態、レイヤスタック、ブレンド、カラーフィルタなどの言語およびグラフィックス機能をカバーしており、意味論自体は関心を分離し、拡張性を可能にするために3つの層に分割されています。
次に、Google Chromeによって生成される最適化されていないSkiaコードの4つのパターンを特定し、それぞれのパターンの代替コードを作成します。μSkiaにより、多数のトリッキーな副作用条件を特定することを含め、代替コードが正しいことを検証できます。次に、これらのパターンを適用してラスタライゼーションを高速化する高性能Skiaオプティマイザを開発します。上位100のウェブサイトから収集された99のSkiaプログラムで、このオプティマイザはSkiaの最新のGPUバックエンドと比較して18.7%の高速化をもたらし、最適化には最大32μsしかかかりません。高速化は、さまざまなウェブサイト、Skiaバックエンド、GPUで持続します。真のエンドツーエンド検証を提供するために、オプティマイザによって生成された最適化トレースはμSkia意味論にロードバックされ、Leanで翻訳検証されます。
コメント: 23ページ、15図
主題: プログラミング言語 (cs.PL)
ACMクラス: I.3; D.3.1; D.3.2
引用形式: arXiv:2603.23696 [cs.PL] (またはこのバージョンのarXiv:2603.23696v1 [cs.PL])
https://doi.org/10.48550/arXiv.2603.23696
フォーカスして詳細を確認
arXiv発行のDOI (DataCite経由)
提出履歴
送信者: Bhargav Kulkarni [メールを表示] [v1] 火曜日、2026年3月24日 20:14:34 UTC (1,399 KB)
全文リンク:
論文にアクセス: Bhargav Kulkarniと他の2名の著者による「2Dラスタライゼーションの意味論」というタイトルの論文のPDFを表示PDF HTML (実験的) TeXソース ライセンスを表示
現在の閲覧コンテキスト: cs.PL < 前 | 次 > 新着 | 最近 | 2026-03
で閲覧を変更: cs
参考文献と引用
NASA ADS Google Scholar Semantic Scholar
エクスポート BibTeX引用
読み込み中...
BibTeX形式の引用 × 読み込み中...
提供元データ:
ブックマーク
書誌ツール
書誌および引用ツール
書誌エクスプローラー
書誌エクスプローラーを切り替える (書誌エクスプローラーとは?)
Connected Papers
Connected Papers を切り替える (Connected Papers とは?)
Litmaps
Litmaps を切り替える (Litmaps とは?)
scite.ai
scite Smart Citations を切り替える (Smart Citations とは?)
コード、データ、メディア
この論文に関連するコード、データ、メディア
alphaXiv
alphaXiv を切り替える (alphaXiv とは?)
コードへのリンク
CatalyzeX
Papers のコードファインダー (CatalyzeX とは?)
DagsHub
DagsHub を切り替える (DagsHub とは?)
GotitPub
Gotit.pub を切り替える (GotitPub とは?)
Huggingface
Hugging Face を切り替える (Huggingface とは?)
ScienceCast
ScienceCast を切り替える (ScienceCast とは?)
デモ
デモ
Replicate
Replicate を切り替える (Replicate とは?)
Spaces
Hugging Face Spaces を切り替える (Spaces とは?)
Spaces
TXYZ.AI を切り替える (TXYZ.AI とは?)
関連論文
レコメンダーおよび検索ツール
Influence Flower へのリンク
Influence Flower (Influence Flowers とは?)
Core レコメンダー
CORE レコメンダーを切り替える (CORE レコメンダーとは?)
著者
この論文の著者は誰ですか?
| MathJax を無効にする (MathJax とは?)