VB2008での高速描画処理の一般的な方法 への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 (削除されました)  ()
投稿日時
2012/4/22 22:56:36
(削除されました)
投稿者 るきお  (社会人)
投稿日時
2012/4/22 16:14:58
VBで高速描画の作法のようなものは特にありません。
単なるグラフィックであればGDI+を使用するのが通常ですが、GDI+は高速描画できるように設計されておらずかなり低速です。
とはいえ、最近のパソコンはハイスペックなので求める高速のレベルによってはGDI+で事足りてしまうこともあるかもしれません。GDI+は低速ではありますが、VBから使いやすく機能も豊富で楽です。
BitBltは高速ですので高速描画の目的で使用するのはありです。ただし、Windows フォーム アプリケーションの既定の描画エンジンGDI+との整合性が悪いので限定的な使用になってしまうかもしれません。
他に思いつくのはDirectXです。
単なるグラフィックであればGDI+を使用するのが通常ですが、GDI+は高速描画できるように設計されておらずかなり低速です。
とはいえ、最近のパソコンはハイスペックなので求める高速のレベルによってはGDI+で事足りてしまうこともあるかもしれません。GDI+は低速ではありますが、VBから使いやすく機能も豊富で楽です。
BitBltは高速ですので高速描画の目的で使用するのはありです。ただし、Windows フォーム アプリケーションの既定の描画エンジンGDI+との整合性が悪いので限定的な使用になってしまうかもしれません。
他に思いつくのはDirectXです。
投稿者 うらしま  (社会人)
投稿日時
2012/4/22 14:54:18
いまさらですが、VB6からVB2008へ移行することになり、描画に何を使ったら良いのか悩んでいます。
描画対象は、オシロスコープのような横スクロールグラフがメインです。
いままでは、picturebox+bitblt+ダブルバッファばかりでしたが、.netでも同様でいいのか?そもそも同様なことができるのか?作法として正しいとされているのはどういう方法なのか?などわかりませんので教えて下さい。
描画対象は、オシロスコープのような横スクロールグラフがメインです。
いままでは、picturebox+bitblt+ダブルバッファばかりでしたが、.netでも同様でいいのか?そもそも同様なことができるのか?作法として正しいとされているのはどういう方法なのか?などわかりませんので教えて下さい。
速度は結構厳しいので、GDI+が遅いのであれば選択肢からは外したほうがよさそうです。
bitblt+VB2008のやりかたと、DirectXについて調べてみます。