26

今日、私の同僚は、進行状況インジケーターに小数点以下の桁を追加すると、プログラムが実行されていない場合よりも高速に実行されているという印象を与えることに気づきました。(つまり、1,2,3の代わりに... 1、1.2、1.4、1.6、...と表示されます)確認したところ、偽物だとわかっていても同じ印象を受けたので驚きました。

それは私に不思議に思います:高速アプリケーションの印象を作成するために他に何がありますか?

もちろん、最善の方法は実際にアプリケーションを高速化することですが、アルゴリズムの観点からは、多くの場合、実行できることはあまりありません。さらに、それは多かれ少なかれ心理的なトリックですが、ユーザーの欲求不満を軽減することは良いことだと思います。

4

8 に答える 8

18

この効果は非常に劇的なものになる可能性があります。ユーザーに正確で頻繁に更新される進行状況のステータスを提供するために比較的大量の作業を行うと、もちろん、アプリケーションの実際の実行時間(画面の更新、進行状況の表示に必要な計算など)が遅くなる可能性があります。ユーザーはそれがより少ない時間で済むと感じます。

GUIでできることのいくつか:

  • バックグラウンド処理が行われている間、アプリケーションが応答性を維持していることを確認してください(フォームのサイズ変更は引き続き可能です。操作のキャンセルボタンを指定しますか?)
  • アプリケーション全体でステータスメッセージ/砂時計カーソルを表示する際に非常に一貫性がある
  • 操作中に何かを更新する場合は、頻繁に更新するようにするか(インストール中のファイル名とレジストリキーの表示がほとんどばかげているなど)、この動作が好きなユーザーのためにこれを行うオプションがあることを確認してください
于 2009-08-03T09:31:28.870 に答える
9

最初に、いくつかの中間的で興味深い結果を提示します。「お客様のリクエストに一致する2,359のゼチュイルが見つかりました。現在、それらの将来価値を計算しています」。

交通機関の予約システムがそのようなことを非常にうまくやっているのを見てきました。

于 2009-08-03T09:24:05.287 に答える
8

詳細(インストールプロセスでコピーされるファイルの名前など)を表示すると、(ゆっくりと忍び寄るプログレスバーとは対照的に)常に目立つアクティビティがあるため、処理が速くなっているように見えることがよくあります。

アルゴリズムが結果のリストを生成するようなものであり、生成された結果を(最後に一度にすべてではなく)表示する方法がある場合は、そうします-ユーザーが他に何かを見るのが早くなりますスピナーのほかに、より良いです。

于 2009-08-03T09:25:42.193 に答える
5

アプリケーションがデータを処理している間、または結果を待っている間に、ユーザーが他のことを実行できるようにします。アプリケーションスコープでは、検索クエリを改良したり、次のステップを準備するための情報を収集したりできます。または、実行するために必要な他の「作業」、またはヒント、ドキュメント、統計、エンターテインメントを提示するだけです。

于 2009-08-03T09:32:14.767 に答える
2

進行していないときでも何かをしているように見えるアニメーションの進行状況バーの1つを使用します。また、peSHIrが言ったように、コピーした各ファイル名を印刷して、非常に高速に更新します。大きな文字列配列を1秒間にN回循環させることで、偽造することもできます。

于 2009-08-03T09:34:53.917 に答える
2

プロセスがスピードアップしているように見える場合は、一定のペースで進行している場合よりも速く見えるとどこかで読んだことがあります。現在、リファレンスは見つかりませんが、実装は簡単なはずです。

(10分後…)

Google レーンをさらに調べたところ、次の参考文献が見つかりました。

http://www.azarask.in/blog/post/hacking-memory/ http://blogs.msdn.com/time/

于 2009-08-03T19:46:13.867 に答える
0

これは、 「UIで時間を表現する」とユーザーの時間認識に関する記事です。それがあなたが答えとして期待するものであるかどうかはわかりませんが、それは間違いなく読む価値があります。

于 2009-08-12T13:40:02.250 に答える
-1

重要なポイントでスレッドのスリープを追加します。バージョンが通過するたびに、遅延を減らします。

于 2009-08-03T19:55:01.290 に答える