VRAMのソースを表示
←
VRAM
移動先:
案内
、
検索
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
要求した操作を行うことは許可されていません。
このページのソースの閲覧やコピーができます。
'''VRAM '''(ブイラム, '''Video RAM''')は、[[コンピュータ]]などにおける、ディスプレイに対するビデオ表示部分のメモリ([[記憶装置]])として使われる[[Random Access Memory|RAM]]。専用のデュアルポートのものもあれば、[[メインメモリ]]と同じ[[Dynamic Random Access Memory|DRAM]]や[[Static Random Access Memory|SRAM]]を利用したものもある。 == 概要 == 狭義のVRAMとは、ビデオ描画に適した'''デュアルポートRAM'''のことのみを指す。 近年ではVRAMの高速化が進み、GDDRと呼ばれる高速処理専用のメモリ規格が登場。[[3次元グラフィックス]]描画における莫大なデータの高速転送を実現している。主な規格として、[[GDDR3]]、[[GDDR4]]、[[GDDR5]]が[[ビデオカード]]に搭載されている。 その主な用途は[[レンダリング (コンピュータ)|レンダリング]]した画面を[[走査]]するまでの[[バッファ]]であるが、レンダリングに際して用いる[[テクスチャ]]などの素材をバッファリングしたりするなど、中間の処理にも用いられる。これらの構成は各機種の[[コンピュータ・アーキテクチャ|アーキテクチャ]]によって大きく異なる。 VRAMを用いたシステムの[[メモリ空間]]は、[[主記憶装置]]と同じ[[アドレス空間]]を持つ場合と、[[グラフィックコントローラ]]([[CRTC_(LSI)|CRTC]]、[[VDP]]など)が独立したアドレス空間を持つ場合がある。 VRAMにカラー[[ピクセル]](画素)を配置する方法としては、カラーコードのビットごとに配置するプレーンドアクセス方式(フレームアクセス方式)、カラーコードのバイトごとに配置するパックドピクセル方式([[ビットマップ]]方式)、キャラクタ単位で配置する[[キャラクタ (コンピュータ)|キャラクタグラフィック]]・[[PCG]]などがある。 == 素材のバッファ == VRAMの用途のひとつに、レンダリングに用いる素材のバッファリングがある。設計や用途にも依存するが、レンダリングに際してはグラフィックコントローラーからこれら素材に対して頻繁にアクセスする場合が多く、VRAMの重要な用途のひとつとなっている。 === テキストRAM === RAMの容量が小さかったころは、高度なグラフィックスを保持しておくことは困難だった。そこで初期のコンピュータでは、キャラクタ(文字)のみの描写に特化したテキスト(文章)画面を持っていた。これは画面上に表示する文字のキャラクタコードのみをVRAMに記憶し、走査時にグラフィックコントローラが[[フォント]]データを参照しながら文字として展開するものである。しかし[[DOS/V]]や[[GUI]]など、文字をグラフィックスで描くシステムが主流になると、[[ソフトウェア]]レベルでの処理に代替していった。ただし現在の[[パーソナルコンピュータ|PC]]でも互換性確保のために[[Basic Input/Output System|BIOS]]レベルではこの機能を持っている。 [[ゲーム機]]などでも、得点や固定背景を描くためのBG([[バックグラウンド]])と呼ばれる描画面を持っていた。これも[[ポリゴン]]描写が主流になると廃れていった。 === テクスチャバッファ === ポリゴンに[[テクスチャマッピング]]を施す際、その素材となるテクスチャのデータを格納するための領域である。 画像の高精細化にともない、テクスチャのデータも大容量化の傾向にあるため、近年の[[Graphics Processing Unit|GPU]]などはテクスチャバッファに対してデータを自動的に圧縮格納してVRAMを節約する機能を持っていることが多い(例:S3TCなど)。<!--余談だが、[[PlayStation 2|プレイステーション2]]のGraphics Synthesizerチップは、VRAMの容量がきわめて少ない(4MB)にもかかわらず、このテクスチャ圧縮機能を持っていないことが大きな欠点として指摘されている。--> === Zバッファ === 画面上へポリゴンを重ね合わせる際に、その優先順位を決定するための深度情報およびその格納領域が[[Zバッファ]]である。概念についての詳細は該当項目を参照のこと。 初期のポリゴン描画システムでは、'''Zソート'''という簡易的な方式を用いていた。これはポリゴン1枚ごとに深度情報を持たせていたが、ポリゴン同士が絡み合うように配置された場合には意図されたような重ね合わせにならない場合があった。Zバッファはこれを改め、[[ピクセル]]ごとに深度情報を持たせたものである。比較的正確な表示が可能になった一方、情報量や処理負荷は増大したため、GPUの近傍にデータの格納領域が必要となった。 == レンダリングバッファ == レンダリングにかかる時間は、描画の内容やハードウェアの構成によって大きく異なる一方、画面の走査は特定のタイミングでおこなわれる。レンダリングされた画像(レンダリングの過程も含まれる場合がある)を走査するまでの間保持しておくメモリがレンダリングバッファである。 === ラインバッファ === 小容量の時代であっても高度なグラフィックスを描く方法が工夫されていた。それは[[走査|走査線]]1本分のみのグラフィックデータを保持するラインバッファである。これは低価格のハードウェアで高速に描画する必要のあった[[ゲーム機]]などに多用された。[[スプライト (映像技術)|スプライト]]、[[スクロール]]面、BG面などの画面情報を読み出し、それをVDPが走査線ごとにレンダリングしていた。 走査線1本分のみのデータなので容量が少なくても済む一方、レンダリングのタイミングが厳しく、処理が間に合わないとスプライトなどの表示が欠けてしまう場合がしばしば見られた。 これもRAMの大容量化にともない消えていった。 === フレームバッファ === 画面の1[[フレーム]]分をまるごとバッファリングするもの。 汎用性の求められるコンピュータでは、画面の表示欠けが許されないとされる場合が多かった。これを解決するために、画面1フレームをまるごとバッファリングすることのできるフレームバッファが多くの機種で採用された。描画処理の時間や順序に多少の融通ができるため、レンダリング処理が間に合わない事態を防ぐ効果がある。ただし能力の限界を超えて描画しようとすると、ラインバッファと同様に表示欠けを生じたり、見た目の[[フレームレート]]が低下(いわゆる[[処理落ち]])したりする。 初期のパソコンでも中級機以上のものはフレームバッファに似た'''グラフィックVRAM'''を保有していた。現代から見れば色数が少なかったもののVRAMの使用量は比較的多く、それらがゲーム機や[[ホビーパソコン]]などに比べて非常に高価な理由のひとつとなった。 ゲーム機でも、RAMの容量価格比が増大するとフレームバッファが使われるようになり、本格的な3D描画が可能となった。 高いフレームレートで高度なレンダリングをおこなうため、しばしば'''ダブルバッファ'''という方式が採られる。これはフレームバッファを2フレーム分用意し、片方がレンダリングの結果を出力している間、もう片方にレンダリングを重ねていくものである。原理上表示欠けは発生しないが、レンダリングに時間がかかると処理落ちを生じてしまう。高度なグラフィックスをリアルタイムで動かすゲームのCGにとって重要な技術だが、VRAMを大量に消費するためゲーム機では容量が不足しやすいといったジレンマがある。プレイステーション2ではこの対策として、[[走査#インターレース方式とプログレッシブ方式|インターレース]]画面の1フレームを2フィールドに分け、片方のフィールドを[[走査]]する間にもう片方のフィールドへレンダリングするという、簡易的なダブルバッファを用いることが多い。この場合プログレッシブ走査が不可能となり、そのためPS2ではプログレッシブ走査に対応したソフトが少ない。 == VRAMのバスアーキテクチャ == VRAMはその用途から高速性が求められるため、しばしば通常のRAMとは異なる工夫がなされる。 === デュアルポートRAM === VRAMの主用途はバッファであるため、入力用の[[バス (コンピュータ)|バス]]と出力用のバスを独立させることによって[[スループット]]を改善させたものである。[[半導体素子]]が持つ能力の割に高速な処理が可能となるが、[[入出力ポート|I/O回路]]が複雑となるため通常のRAMよりも割高である。 かつてはVRAMといえばデュアルポートRAMが主流だったが、低コストの機種ではデュアルポートRAMを採用しないものも多かった。近年[[SDRAM]]などシングルポートRAMの高速化技術が発展するとデュアルポートRAMの衰退は顕著となり、現在では[[GDDR3]]、[[GDDR4]]、[[GDDR5]]といった高速シングルポートRAMにとって代わられている。 === UMA === 描画を走査に間に合わせる必要があることから、VRAMは通常のワークRAM(メインメモリ)よりも高速なものを用いることが多いが、その分素子が高価となる。しかし全てのシステムが高速な描画を要求されているわけではなく、PCの[[オンボードグラフィック|オンチップグラフィックス]]など安価で描画能力を重視しないシステムでは、専用のVRAMを持たずにメインメモリから間借りする場合が多い。このように、メインメモリの領域から他用途のメモリを間借りすることをUMA([[ユニファイドメモリアーキテクチャ]])という。 またUMAには、高速処理が必要な部分だけに高価な素子を用い、比較的低速でも構わない部分はメインメモリに間借りするといった方法もある。その代表例として[[Accelerated Graphics Port|AGP]]が挙げられる。これは高速性を求められるフレームバッファのみをビデオカードに実装し、その他のメモリを[[CPU]]のワークエリアから間借りして、[[Graphics Processing Unit|GPU]]との間を専用のバスで繋ぐものである。 逆に、描画密度の割に画素数の少ないシステムでは、テクスチャバッファなどへ専用VRAMを充当しつつ、フレームバッファのほうをUMAでまかなってしまうといった場合も存在する。 近年では[[PlayStation 4]]に見られるように[[ユニファイドメモリアーキテクチャ#hUMA|hUMA]]として、CPUとGPUでメモリーマップを統合させている例も有る。 :''「[[ユニファイドメモリアーキテクチャ|ユニファイドメモリーアーキテクチャー]]」を参照'' [[category:記憶装置]] [[Category:ハードウェア]]
VRAM
に戻る。
案内メニュー
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
その他
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
新しいページ
最近の更新
おまかせ表示
sandbox
commonsupload
ヘルプ
ヘルプ
井戸端
notice
bugreportspage
sitesupport
ウィキペディアに関するお問い合わせ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報