回答編集履歴

1

レンダラーについて追記

2019/05/30 08:59

投稿

退会済みユーザー
test CHANGED
@@ -1,12 +1,26 @@
1
1
  ループ内で一度も画面の更新を行っていないので、
2
2
 
3
- `SDL_BlitSurface`と`SDL_UpdateWindowSurface`をループ内に書けばOKのはずですが、SDL2では`SDL_GetWindowSurface`ではなく`SDL_CreateRenderer`を使います。
3
+ `SDL_BlitSurface`と`SDL_UpdateWindowSurface`をループ内に書けばOKのはずですが、
4
+
5
+ SDL2では`SDL_GetWindowSurface`ではなく`SDL_CreateRenderer`を使います。
4
6
 
5
7
 
6
8
 
7
- SDL1じゃなくちゃんとSDL2解説をしているサイトを見せう。
9
+ 理由についは以下のサイトに日本語訳がありすが、
10
+
11
+ [SDL 1.2から2.0への移行](https://sdl2referencejp.osdn.jp/MigrationGuide.html)
8
12
 
9
13
 
14
+
15
+ 要約すると、従来のサーフェスを使ったやり方は主にシステムメモリとCPUを使用
16
+
17
+ 新しいレンダラーを使ったやり方はビデオRAMとGPUを使用しハードウェアアクセラレーションで行われる。
18
+
19
+ といった感じです。
20
+
21
+
22
+
23
+ なので、SDL1じゃなくてちゃんとSDL2の解説をしているサイトを見ませう。
10
24
 
11
25
 
12
26
 
@@ -130,13 +144,11 @@
130
144
 
131
145
  }
132
146
 
147
+ // ここで、画面のクリア・描画処理・画面への反映を行う
148
+
133
149
  SDL_RenderClear(renderer);
134
150
 
135
-
136
-
137
151
  SDL_RenderCopy(renderer, texture, nullptr, &rect);
138
-
139
-
140
152
 
141
153
  SDL_RenderPresent(renderer);
142
154