Win32APIで画像を表示しようとしたんだ

前はネットゲームをよくやっていて、どんなふうに動いてるのか妄想していたら突然C++がやりたくなって、
昨日Visual Studio Express C++をいれた。ネットゲームはもちろんDirectXを使っているだろうけど、
まっ最初はWindows本来の機能で画像表示やってみよう。ということでWin32APIで画像表示をぐぐってみた。

えっデバイスコンテキストが2つ・・?
ビットマップインスタンスが2つ・・?
セレクトオブジェクト・・?
Win32APIではウィンドウに何かを描画するのにデバイスコンテキストが必要なのは知っていたが、
もう1個メモリデバイスコンテキストを作る必要があるらしい。なるほどなるほど。

しかし・・ビットマップインスタンスを2つ用意しないといけないのはなぜだろう?
メモリデバイスコンテキストは初期状態では1x1の2色だからどうとか書いてるけど・・それをSelectObjectを使ってビットマップの中身への
参照に変換してその変換したものを2つ目のビットマップとしているのか。ややこしいなおい。

結局わからない部分を残しながらとにかく画像を表示させた。が・・CPU使用率が大変なことに!!
ネット上のサンプルそのままコピペでもCPU使いまくりということに。なぜだ!?なぜなんだーー!?
ウィンドウに画像一枚載せるのに1コアフルに使ってるってどういうことなの。

素直にDirectXを使ったほうがいいね。

とはいえDirectXの中身を見たことないが・・
Windows限定になっちゃうけど、.NETにするのもいいかもね。あまり複雑なゲームは作れそうにないけど、2DならC#でも十分なんじゃなイカ