Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
VB2005でAPI関数 GetDIBitsを使用する方法をおしえてください。
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9419#CommentId13377
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2009/11/2 18:37:48
> System.Environment.TickCount - t1で速度UPしらにですが、描写が早くなりません。
? ごめんなさい、意味が分かりませんでした。
現象を再現可能なコードを提示して頂いていないので、遅い原因となっている
問題点を指摘することはできませんが、PictureBox を使うのであれば、
下記の点に気をつけてみてください。
・基本的に CreateGraphics は使わないこと。Paint イベントの e.Graphics を使うか、もしくは
Graphics.FromImage で描画した Bitmap クラスを Image/BackgroundImage に渡すようにする。
・Paint イベントを使う場合には、「Invalidate メソッド」「Update メソッド」「Refresh メソッド」を
正しく使い分ける事。Refresh は時間がかかる処理なので、短時間に連続して呼び出すべきではない。
・TickCount は、いわゆる「24.9 日問題」を含みます。通常はそれでも問題ありませんが、
ミリ秒程度の時刻差を測定する場合には、Stopwatch クラスや DateTime.Now の利用も検討を。
・描画結果の高速書き換えが期待通りに行かない場合には、ダブルバッファリングを試してみてください。