VB.NET質問スレ (Part24)
■ このスレッドは過去ログ倉庫に格納されています
0578デフォルトの名無しさん
2008/01/23(水) 21:44:50エクスプローラはMFCやWin32APIで作られているのだと思いますが、
たとえば、C:\Windows\I386 というフォルダを見てみるとそこには 5700 もの
ファイルが存在していましたが、そのオープン(ファイルListViewへの表示)は
非常に高速で、ものの1秒もかかるかどうかぐらい高速に表示されていました。
ところが、これをVB.NETのプログラムで同等の表示項目の情報をかき集めて
同様にListViewに表示しようとすると、
自分がトライとした限りでは10秒以上かかっていました。これはやり方が悪い
ためというのが大半の理由と考えるべきなのかどうかを知りたく思いました。
エクスプローラと同じほどの短い時間で出すには、単なるListコントロールに
ファイルのファイル名の情報だけを単純にAddしてやるだけで精一杯で、その他
の更新日時やサイズ、ファイルの属性に関わる情報、アイコン等をすべてListView
に表示する場合は上記のようにかなり時間がかかる処理となるようでした。
こうした極端な差が出た原因は私のアルゴリズムの詰めが甘いせいをまずは
疑うべきでしょうか、それとも .NETでのListViewを使ってのAddでの表示では
やむ得ないパフォーマンスと考えてもよいものでしょうか。よろしければご指南
頂ければありがたく存じます。
■ このスレッドは過去ログ倉庫に格納されています