• ベストアンサー

VB.NETでティッカーのようなものをスムーズに

VB.NETを使い、文字列を横に流す、いわゆるティッカーのようなものを制作しています。 Labelに文字列を入れ、TimerのTickごと(現状Interval=2)にLabel1.Left -= 2という動作をさせていて、 これを5つ(Label1~Label5)同時に行っているのですが、パソコンのスペックによってか、時々動作が重くなる時があります。 近頃のPCとしては大した処理ではないと思うのですが、どのようなコードを書いたらもっとスムーズに動かせるでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

Timer.Intervalプロパティの値はミリ秒単位です。 通常のディスプレイは60fps(≒17ミリ秒に1回のペース)で画面を表示しますので、 2ミリ秒に1回という短いペースでラベルを更新しても意味がありません。 むしろPCにとって負担なだけです。 人間の目では、リフレッシュレートが30fps(≒33ミリ秒に1回のペース)を切ると「カクついている」と感じると言われています。 以上の情報を参考に、ラベルの更新頻度を再調整してみてください。

takumiboo
質問者

お礼

なるほど、なめらかに動かそうとするあまり逆にカクカクにしていたということですね。 ありがとうございました!

関連するQ&A

専門家に質問してみよう