コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
最近の更新
未作成ページ
おまかせ表示
ヘルプ
MonoBook
検索
検索
ログイン
個人用ツール
ログイン
ログアウトした編集者のページ
もっと詳しく
投稿記録
トーク
「
ステージングバッファ
」を編集中
ページ
議論
日本語
閲覧
編集
ソースを編集
履歴表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
編集
ソースを編集
履歴表示
全般
リンク元
関連ページの更新状況
特別ページ
ページ情報
2021年4月2日 (金) 02:35時点における
Administrator
(
トーク
|
投稿記録
)
による版
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
'''ステージングバッファ'''([[英語]]:staging buffer)とは、 * [[CPU]]は[[VRAM]]にアクセスできない * [[GPU]]は[[メインメモリ]]にアクセスできない という問題を解決すべく確保される中継用のメモリ領域のことである。 CPUはVRAMにアクセスできないのならば、 * メインメモリにステージングバッファを確保して、 * VRAMの内容を丸々コピーすればいい という考え方である。 [[コンピュートシェーダー]]([[GPGPU]])では計算結果を取り出すのに必須の概念である。 なお、[[CUDA]]では全自動で実行されるので意識する必要がない。 == 概要 == [[CPU]]上で「[[構造体]]の[[配列]]」などとして作成した[[バーテックスバッファ]]などの各種バッファは、[[GPU]]に転送されると内部的に「GPUが処理しやすい」ように再配置が行われ、[[CPU]]側からは再度読み取れなくなる。基本的には一方通行だ。 しかしながら「再度読み取りたい」という需要が一部にあった。 たとえば高水準の3Dモデルの読み込み[[ライブラリ]]なんかを使用すると、わずか1行で3Dモデルを読み込めたりして便利ではあるが、「頂点の座標」などの細かい情報は得られないことがある。その一方で[[物理演算エンジン]]には3Dモデルのその見えない座標情報を求めるものが多い。この両方を使いたい場合にドハマリする。いわゆる「[[階層化の有害性]]」だ。 さらに[[コンピュートシェーダー]]の普及で「再度読み取りたい」という需要が激増した。 そこで最近の[[GPU]]には「[[CPU]]が処理しやすい配置に変換コピーするコマンド」が用意されており、そのコピー先となる一時バッファ的な「ステージングバッファ」というものが生まれた。 手順的にはこんな感じだ。 * ステージングバッファを確保する * 頂点バッファなどをステージングバッファに変換コピーする * ステージングバッファをメインメモリに単純コピーする * ステージングバッファを解放する [[GPU]]は[[メインメモリ]]にアクセスできないのでステージングバッファはVRAM上に確保される。ステージングバッファからメインメモリへの転送は無駄に思えるが構造的に仕方がない。 == 備考 == 最近では「ステージングバッファへのコピーは無駄な処理」という考えのもと、 [[CPU]]から[[VRAM]]にアクセスできるようにしてしまう「[[hUMA]]」などという新機能も提案されている。
編集内容の要約:
MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MonoBook:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の確認用の質問に回答してください (
詳細
):
1たす1は?(全角で入力してください)
キャンセル
編集の仕方
(新しいウィンドウで開きます)
本文の横幅制限を有効化/無効化