• ベストアンサー

Bitmapを動かすときのちらつきを抑えたい

Delphiでプログラムをしているのですが、たとえばTBitmapで描画したものを連続して動かすとちらつきますよね・・・。これ、抑える方法はないのでしょうか? 画面に速度計を描画したいのですが、メーターの針(Bitmap)を回すごとにちらついてしまうので・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • wogota
  • ベストアンサー率42% (66/154)
回答No.2

画面描画が頻繁に行われるので、ちらつくものと思われます。 このちらつきを抑えるには、描画命令単位で描画させるのではなく、 決められた時間ごとに描画を行うほうがいいかもしれません。 RAM上に画面表示用の領域を用意します。描画は、その領域に対してのみ 行います。これは、単にメモリコピーと同じです。 そして、決められた時間ごとにその領域を画面表示部分にコピーします。 原理としてはこのような感じです。 (サンプルとかは提供できませんが、難しいことではないと思います)

pythian
質問者

お礼

時間ごとに区切ってみました。ですが、遅くしてもやはりちらついてしまいました。結構ビットマップが大きいので・・・これ以上下げるとスムーズに動かなくなってしまうので、妥協することにします。ありがとうございました。

その他の回答 (1)

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.1

こんにちは、honiyonです。  うる覚えで申し訳ないのですが... TBitmapの描画先は TImageあたりですか?  TImageに Doublebufferd(だったかなぁ...)というプロパティがあればそれを trueに設定してみてください。 ちらつきを抑えられるはずです。  確か存在してもオブジェクトインスペクタには現れなかったと思うので、実行時に設定してください。  あまりアテにならない内容ですが参考になれば幸いです(.. 

pythian
質問者

お礼

ありがとうございます、残念なことにTImageではありませんでした・・・。解決策がないので、仕方なく描画時間の調整でごまかすことにします。(笑)

関連するQ&A