森理 麟(moririring)のプログラマブログ

ゲームプログラマ森理 麟がのプログラムの話題を中心に書くブログです。

クッキーツイートの高速化 その11 進行状況の表示とキャンセル #CookieToEat

←進行状況の表示とキャンセル

前回話をシンプルにするために3つの関数にしました。

実際これで十分なこともあります。

しかし、3つの関数実装では出来ないことがあります。

それが、進行状況の表示とキャンセル処理です。


BackgroundWorkerは進行状況を表示する使い方が適していると思います。

例えば大量にファイルを読むのであれば今何個目を読んでいるか。

例えば情報を取得してくるのであれば、今どんな情報を取得しているか。

全体を通じてどれぐらい時間がかかって、今現在どれぐらいか。


こういった内容をプログレスバーやテキスト、画像などで表示します。

リアルタイムで大量に取得出来る情報であれば、アニメーション表現にもなります。

ネットワークからの取得で、待ち時間が長い場合は時間などの表記でも良いと思います。

兎に角、常に動いているのは重要です。待ち時間のストレス軽減にもつながります。


さらに、大量処理の時は出来るだけキャンセル処理を入れた方が良いです。

一度動かしたら、それっきり終わるまで待つしかないのでは、やはり厳しいです。

実はこの実装をしておくと、一番重宝するのは自分だったりします。

実際自分では、一度動かすだけですむデバッグなど結構あるからです。