[解決済み] サーフェスとテクスチャの違い (SDL / 一般)
質問
テクスチャとサーフェスの違いを簡単に説明できる人はいますか?私はそれがで使用されているのを見ました
SDL2
として
SDL_Surface
そして
SDL_Texture
.
SDL_Texture
から作成されます。
SDL_Surface
から生成され、さらに画像/ビットマップから生成されます。どちらもピクセルの集合体です。しかし、私はそれらの間の主要な違いを見ません(GPUに何か関係しているのでしょうか)。
私はそれをググろうとしましたが、私が見つけたすべての説明は複雑すぎて、コンピュータグラフィックスを深く掘り下げることなしにそれらを理解することはできませんでした。
どのように解決するのですか?
基本的には、「GPU と関係がある」という仮説は正しいです。
SDL_Surface
が使われているのは
ソフトウェア
レンダリングで使用されます。ソフトウェアレンダリングでは
saloomi2012
が正しく気づいたように、画像データを保存するために通常の RAM を使用しています。したがって、ほとんどの場合、サーフェスに関連するデータ バッファに直接アクセスしてその内容を変更することができ、つまり、CPU を使用しているので
ソフトウェア
という名前になっています。
SDL_Texture
一方
ハードウェア
レンダリングでは、テクスチャは VRAM に保存され、ハードウェアのように直接アクセスすることはできません。
SDL_Surface
. レンダリング処理は GPU によって加速され、内部的には OpenGL または DirectX (Windows でのみ利用可能) API を使用し、これらはビデオ ハードウェアを使用するため、したがって
ハードウェア
レンダリング名です。
言うまでもなく、ハードウェア レンダリングはソフトウェア レンダリングよりも桁違いに高速であり、常に主要な選択肢として考慮されるべきものです。
関連
-
赤線の位置は必ずしも間違っていない:式は変更可能なlvalueでなければならないエラーは、この文とは別の場所に存在する可能性があります。
-
[解決済み] C関数から文字列を返す
-
[解決済み] C - Setデータ構造を実装するには?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] ++iとi++の違いは何ですか?
-
[解決済み] mallocとcallocの違い?
-
[解決済み] スタティック・ライブラリとシェアード・ライブラリの違い?
-
[解決済み] char s[]とchar *sの違いは何ですか?
-
[解決済み] ストラクチャーとユニオンの違い
-
[解決済み】定義と宣言の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解決済み] g++ コンパイルエラー: ')'トークンの前に一次式があることが予想される
-
g++が内部・外部コマンドソリューションとして認識されない、MinGWを初めて使うときの落とし穴
-
赤線の位置は必ずしも間違っていない:式は変更可能なlvalueでなければならないエラーは、この文とは別の場所に存在する可能性があります。
-
error: 'for' loop initial declaration is only allowed in C99 mode 原因と解決方法
-
[解決済み] Valgrind が初期化されていないバイトについて警告する
-
[解決済み] char *とchar[]の違い [重複]
-
[解決済み] C言語のコードで「:-!」とは何ですか?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] C言語でファイルが存在するかどうかを確認する最も良い方法は何ですか?
-
[解決済み】SDLレンダラとは何ですか?