Windowsゲーム開発のためのSDL2の2Dグラフィックスアクセラレーション -- windows フィールド と opengl フィールド と graphics フィールド と 2d フィールド と sdl-2 フィールド 関連 問題

2D graphics acceleration in SDL2 for Windows game development












-1
vote

問題

日本語

私はWindowsのための2Dゲーム開発のためにPascalとSDL2.0.5を使用しています。グラフィックアクセラレーションを使用しません。私はSDL2 APIを使用しています。私はあなたに尋ねたいです:

  • Windowsの場合はOpenGLまたはDirect3Dを選択する必要がありますか?
  • 私のゲームのパフォーマンスの存在の変化を見ますか?
英語

I am using Pascal and SDL2.0.5 for 2D game development for windows and as the development progresses it starts to show frame rate drop, especially as I am using each frame particles. I don't use graphics acceleration. I'm just using the SDL2 API. I want to ask you:

  • For windows should I choose OpenGL or Direct3d?
  • Will I see asignificant change in my games performance?
</div
              
   
   

回答リスト

1
 
vote

グラフィック加速度を使用しません。

よろしいですか? SDL2は、 SDL_CreateSoftwareRenderer で明示的に登録しない場合、または最初の場所で SDL_Renderer を使用しない場合は、デフォルトでハードウェアアクセラレーションを使用します。

Windows用OpenGLまたはDirect3Dを選択する必要がありますか?

SDL_Renderer を使用している場合は、 SDL_CreateRenderer を使用していることを確認し、SDLはそれが実行されているプラ​​ットフォームに最適であると思うものを使用します。の

それ以外の場合は、特に2Dゲームのためには問題はありません。 1つのシステム上で、1つのAPIが他のシステム上で反対側になる可能性があります。大絵を見ると、パフォーマンスの観点から大きく同じになるように平均的になります。あなたが移植性を気にしないので、あなたにとって最も簡単に見えるものを選んでください。

私は私のゲームのパフォーマンスに潜在的な変化を見ますか?

はい。ハードウェアアクセラレーションはほとんどすべての場合でも速いです。気になる唯一の例外は、あなたがピクセルによってフレームのピクセルをレンダリングする必要があるときです。

 

I don't use graphics acceleration.

Are you sure? SDL2 uses hardware acceleration by default unless you create your renderer explicitly with SDL_CreateSoftwareRenderer, or if you don't use SDL_Renderer in the first place.

For windows should I choose OpenGL or Direct3d?

If you do use SDL_Renderer, make sure you're using SDL_CreateRenderer, and SDL will use what it thinks is best for the platform it's running on.

Otherwise, it doesn't really matter, especially for a 2D game. While on one system, one API might outperform the other, on another system the opposite might be true. When you look at the big picture, both average out to be roughly the same in terms of performance. Since you don't care about portability, pick the one that looks easiest to you.

Will I see asignificant change in my games performance?

Yes. Hardware acceleration is faster in almost every case. The only exception that comes to mind is when you need to render frames pixel by pixel.

</div
 
 

関連する質問

3  SDL_DisplayFormatはこのスコープで宣言されていません:SDL2を使用してください  ( Sdl displayformat not declared in this scope using sdl2 ) 
コンパイラはsdl.hが見つからないが、メインで初期化されていても、SDL_DisplayFormatが異なるヘッダにあるクラスメンバ関数の範囲内で宣言されていないことはむしろ宣言されていないため <事前> <コード> SDL_Surface *SpriteL...

-3  Python3.8にPygameをインストールする方法[複製]  ( How do i install pygame in python3 8 ) 
この質問はすでにここで回答を持っています ​​ pygameのインストール:sdl-configコマンドが見つかりません (6回答) ...

0  SDL2でテクスチャを回転させる方法  ( How to rotate a texture in sdl2 ) 
SDL2 、 c 、逃した関数またはパラメータでテクスチャを回転させる簡単な方法は? ...

17  SDL2:高速ピクセル操作  ( Sdl2 fast pixel manipulation ) 
モニタのピクセルを描きたいとします。例えば。赤と緑のピクセルが衝突した場合、それらは両方とも消えます。 フレームごとに、私は約100~1000ピクセルを操作する必要があります。ここにマルチスレッドアプローチがあります。これは私に30fps(私が欲しいもの)を与...

3  SDL2で回転したテクスチャは誤ってアンチエイリアスです  ( Texture rotated by sdl2 is anti aliased incorrectly ) 
アンチエイリアシングの有効とともに複数のテクスチャをブレンドしようとしている、テクスチャが回転していない場合はうまく機能しますが、テクスチャを回転させると、テクスチャの端に「境界」が生成されます。以下は例です。 オリジナルのテクスチャ、途中で50×50倍の青い...

0  OpenGL 3.2 2Dレンダリングの問題  ( Opengl 3 2 2d rendering issues ) 
Rendering Artifact http://byte-werx.com/rendering-Artifact.png? a> 2つのスプライトバッチを作成し、私の画面の同じフレーム半分で2回描画しようとしているとき(またはその周囲には失われます...

3  SDL2異なるスレッドの2つのウィンドウ  ( Sdl2 two windows in different threads ) 
私は2つのウィンドウでプロセスを作成しようとしています。各ウィンドウには、描画用の異なるスレッドがあります。問題は、ランダムな時間が間違っている後にプログラムを実行すると、セグメンテーション障害を与えます。これが私のコードです: main.cpp <事前>...

0  奇妙なSDLキーボードの問題  ( Weird sdl keyboard issues ) 
だから私は2つの異なるOSを実行している2台のマシンでこれを試してみました、そしてそれらの間で同じことが起こりました。 <事前> <コード> #include <iostream> #include <SDL2/SDL.h> int main(int arg...

0  SDL 1.2のデフォルトパレットをSDL_CreaterGbsurberSface()と一致させる?  ( Match sdl 1 2s default palette with sdl creatergbsurface ) 
私は SDL 1.2プログラム(リポジトリ)8ビットインデックス付きカラーサーフェスをSDL2に使用します。残念ながら<コード> SDL_CreateRGBSurface() SDL_SetVideoMode() はSDL 1.2で設定されているRGB88...

-1  SDLの滑らかなスクロール  ( Smooth scrolling in sdl ) 
私のユースケースはSDLを使用して大きなテーブルを構築する必要があります。そして私はブラウザのような滑らかなスクロールを探しています。誰かがアイデアを持っていますか? SDLでスムーズなスクロールを実装する方法?私はsdl_mousewheelイベントで試しま...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有