C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: 進捗率の計算方法はどうしてますか?


(過去ログ 70 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■41102 / inTopicNo.1)  進捗率の計算方法はどうしてますか?
  
□投稿者/ hs (136回)-(2009/09/11(Fri) 23:33:44)

分類:[雑談] 

いつもお世話になっております。

ダウンロードやインストール時の進捗表示方法について、疑問を抱き質問させていただきます。

私なりの知識で考えられる事は、たとえば、ファイルのダウンロードであれば、
(ダウンロードしたファイル数) / (ファイル数) * (ファイル数) = %
で進捗率というのは計算できると思います。
もちろん1つのファイルのサイズはまちまちだと思うので大まかなもでしょう。
(私なりの推測の元なので、実際のPGは正確に計算されているのかもしれません。)
ただし現に、PC操作(WindowsOS)で、ファイルのコピー・削除の進捗率を表示するポップアップも進捗率が 100% や 残り0秒、0/100 であるにも関わらず、ややしばらく待たされる事は少なくはありません。

皆さんは、この進捗率を表示するPGを組む際、計算はどうされていますか?





引用返信 編集キー/
■41103 / inTopicNo.2)  Re[1]: 進捗率の計算方法はどうしてますか?
□投稿者/ 渋木宏明(ひどり) (1201回)-(2009/09/12(Sat) 02:21:53)
渋木宏明(ひどり) さんの Web サイト
進捗率は

転送済みのバイト数 / 転送するべきバイト数 * 100

で求まりませんか?

残り時間の予想の方が難しいと思うな。


引用返信 編集キー/
■41104 / inTopicNo.3)  Re[2]: 進捗率の計算方法はどうしてますか?
□投稿者/ 774RR (389回)-(2009/09/12(Sat) 09:17:36)
進捗率と残り時間とは話が別なのであるが・・・

進捗率の話は既に出ているが、あえてフォローするなら:
データ書き込み量の [0..100%] で進捗表示すると、表示が 100% になった後にファイルを閉じることになる。
プログラム上はファイルを閉じる処理は1行だったりするわけだけど、
実際にファイルを閉じるアクションをすると、
・OSが「未書き込みデータのフラッシュ」したり
・セキュリティソフトがリアルタイムウイルス検索したり
と、無視できないほどの時間がかかることが多い。
しかも、これらの処理時間は「自分のプログラム以外」の要因で決まることになり、事前に見積もることは不可能。
それをもって「しばらく待たされる」と表記している、と解釈していいのかな?

残り時間は、基本的に *あてにできない* と考えてしかるべき。
ダウンロードなら、サーバ側の混み方、通信ルートの混み方、ネットワークの安定性、その他
インストールなら、マシンの負荷、ファイルの数だけでなく大きさ、ファイルを閉じる時間、その他
不確定要因が多すぎて [人間にとって自然な] 数値の算出など無理。

> 皆さんは、この進捗率を表示するPGを組む際、計算はどうされていますか?
転送量に対する進捗率なら表示している(必然的に 100% 表示後にしばらく待つ形になる)
全体的な処理にかかる残り時間の表示はお断りしている(意味がないし、計算不能だから)
引用返信 編集キー/
■41127 / inTopicNo.4)  Re[3]: 進捗率の計算方法はどうしてますか?
□投稿者/ hs (137回)-(2009/09/13(Sun) 14:15:57)
No41103 (渋木宏明(ひどり) さん) に返信
> 残り時間の予想の方が難しいと思うな。

No41104 (774RR さん) に返信
> 残り時間は、基本的に *あてにできない* と考えてしかるべき。

つまり、進捗率というものは、使用ユーザーにとって、待ち時間というストレスの対処と考えて良いのでしょうか?
(もちろん、PG上に何らかの制御処理であるかもしれないが...)
進捗率のPGを開発している人からすれば、検収の際、774RRさんの言う

> ・OSが「未書き込みデータのフラッシュ」したり
> ・セキュリティソフトがリアルタイムウイルス検索したり
> と、無視できないほどの時間がかかることが多い。
> しかも、これらの処理時間は「自分のプログラム以外」の要因で決まることになり、事前に見積もることは不可能。

(処理した数 / 処理すべき数) * 100 = 進捗率 とし、
以上のことは考慮せずPGを組んでいる、と解釈しても良いのでしょうか?







引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -