「みんな教えて! 選手権!!」開催のお知らせ

VB.NETを使い、文字列を横に流す、いわゆるティッカーのようなものを制作しています。

Labelに文字列を入れ、TimerのTickごと(現状Interval=2)にLabel1.Left -= 2という動作をさせていて、
これを5つ(Label1~Label5)同時に行っているのですが、パソコンのスペックによってか、時々動作が重くなる時があります。

近頃のPCとしては大した処理ではないと思うのですが、どのようなコードを書いたらもっとスムーズに動かせるでしょうか?

よろしくお願いします。

A 回答 (1件)

Timer.Intervalプロパティの値はミリ秒単位です。



通常のディスプレイは60fps(≒17ミリ秒に1回のペース)で画面を表示しますので、
2ミリ秒に1回という短いペースでラベルを更新しても意味がありません。
むしろPCにとって負担なだけです。

人間の目では、リフレッシュレートが30fps(≒33ミリ秒に1回のペース)を切ると「カクついている」と感じると言われています。


以上の情報を参考に、ラベルの更新頻度を再調整してみてください。
    • good
    • 1
この回答へのお礼

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

お礼日時:2013/07/23 07:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報