質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

3回答

1654閲覧

ゲームプログラムにおけるバッファーとメモリ,ビデオメモリの用語の用途が知りたい

退会済みユーザー

退会済みユーザー

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/04/01 13:11

DirectXではよくバッファーという言葉が出てきますがバッファーとはメモリの一部なのでしょうか?メモリより早い領域が存在するならそこを使うなどといった説明があるのですがメモリとバッファー、ビデオメモリとはいったいどんな関係なのでしょうか?

参考サイト: http://wisdom.sakura.ne.jp/system/directx/dxg4.html
参考サイト: http://wisdom.sakura.ne.jp/system/directx/dxg9.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

参考サイト: http://wisdom.sakura.ne.jp/system/directx/dxg9.html
これまで、ポリゴンの頂点データは、私たちのプログラムが管理してきました

つまり、アプリケーションが管理するシステムメモリ領域に配置していました
しかし、DirectX の思想から考えれば、それ以上に速い領域が存在するならば
すなわち、ローカルビデオメモリや AGP メモリなどに保存可能であれば、これを使うべきです

これを、

メモリより早い領域が存在するならそこを使う

と読んでしまうのはあまりに大雑把過ぎます。メモリの使い方の話なのですから「メモリにもいろいろある」という点をすっとばしたら話になりません。

メモリ-> (今回の話においては)とにかくデータを保存する場所/装置の総称
システムメモリ -> プログラムそのもので直接に扱えるメモリ。大量に使うので、性能そこそこだっだり。
ビデオメモリ -> 表示に使うメモリ。OS配下ではプログラムから直接アクセス出来ない場合も。少数精鋭で速いメモリを使う...こともある
AGPメモリ -> 知らん。AGPって、アレだよね。もう廃れてるよね。まぁ、ビデオメモリの親戚ぐらいに思っておけばいいのかしら。
バッファ -> 私が最初にこの言葉に触れたのは、電子回路での「緩衝増幅器(バッファアンプ)」だった。後段回路の影響を排して前段の動作を安定させるような回路のこと。コンピュータ的には、前段から湧いてくるデータを一時保存して後段が使いたい時に適宜引き出して使う仕組みの総称と言っていいかと。一時「保存」するからメモリの出番。どういうメモリをどう使うかは設計次第。

としたら話は繋がりますか?

投稿2020/04/01 23:35

thkana

総合スコア7652

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/04/02 06:00

では同じメモリでもなんでバッファの方が早いのですか?
thkana

2020/04/02 13:55

いやだから「メモリにもいろいろある」と... 遅いけど安くて大容量、とか ->メインメモリ用 もっと遅いけど、電源切っても忘れない -> ストレージ用 とにかく速いけど高い -> キャッシュ用とか ちょっと速い、書き込みと読み出しの関係が柔軟なデュアルポート ->ビデオ用とか まぁいろいろあるんですよ。
thkana

2020/04/02 14:00

バッファのほうが速い、んじゃなくて、速いから(速いのが欲しいところ)バッファに使う、とかそういう話でしょう。
Zuishin

2020/04/02 14:02

バッファというのは使い方による分類です。速いも遅いもありません。 打てばバッター、走ればランナー、守ればファーストのように同じ人でもその時果たす役割によって呼び名が変わりますが、バッファもそのような役割につけられた名前です。 データの加工に使用するため、あるいは入出力に先立って一時的にデータを保持するためなど、目的をもって確保された作業領域のことです。
guest

0

バッファ: 今すぐは使わないが、今つくらないといけないデータ およびその格納場所
参考リンクの前者の場合、画面とメモリを対応させたメモリ(ビデオメモリの1種)に書き込むのではなく
一度、メインメモリに書き込んだ後に画面に表示させています。
こうしないと、書き込み途中にちらつきが発生する可能性があります。

ビデオメモリ: 大別して2種類の意味があります。

  1. 画面のピクセル情報を対応させたメモリ

大雑把に言うと、ここにbmp画像を読み込むとそのまま表示されるし
ここから読み込むとbmp画像が取得できます。
2. グラフィックボードに搭載されているメモリ

普通、1は2である事が多いです。
おそらく、グラフィックボードの進化の過程でスプライトや3DやGPGPUに対応したりで用途が広がったのでしょう。

投稿2020/04/01 22:25

asm

総合スコア15147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ざっくり説明すると、以下のような感じかと思います。

【メモリ】
記憶装置のこと。
メインメモリの他に、CPU やグラフィックボードなどにも搭載されています。

【ビデオメモリ】
グラフィックボード上に搭載されているメモリのこと。
グラフィック処理に利用するデータは、ビデオメモリに配置することで高速にアクセスできます。

【バッファー】
メモリ上のデータ保存領域のこと。
文脈によっては「メモリ」と表現していることもあります。

投稿2020/04/01 21:49

nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問