Excelは見えないところでギザ休む
記事「マルチコアと VBA 」において
タスクマネージャの「パフォーマンス」のところ
「CPU使用率の履歴」について書きました。
その記事で
シングルコアのパソコンの場合
プロシージャを実行すると使用率が100%になると
書きました。
実は…
Excelは見えないところでギザ休むことがあるのです。
しょこたん風にギザなどと書きましたが
ギザ=たいへん
的な意味ではありません。
その理由はジョジョに明らかになります。
長時間かかるプロシージャを実行する時
そのプロシージャに掛かる時間を一部だけ測定して
ある程度どのくらいの時間が掛かるか予想します。
そして、そのプロシージャを実行してから
パソコンの前を離れます。
もう終わっただろうと思って
パソコンを見てみるとまだ終わっていない、
なんてことが何回かありました。
調べてみると測定した時よりも
3倍くらい時間が掛かっていました。
最初は原因がわからず
もやもやしましたが
前述の「CPU使用率の履歴」を見ていたら
原因がわかりました。
実はExcelはExcelのウィンドウが最前面に出ていないと
速度が遅くなるようです。
以下に
ウィンドウが最前面の場合と
最前面以外の場合の「CPU使用率の履歴」を載せます。
矢印のところから見てください。
こちらがウィンドウが最前面の場合の「CPU使用率の履歴」
こちらが最前面以外の場合の「CPU使用率の履歴」
ご覧の通り
上の画像が矢印の所から常に100%であるのに対して
下の画像は矢印の所からギザギザになっています。
つ・ま・り…
Excelは見えないところでギザ休んでいるのです(笑)
いやいや最前面に出ていない時は
出しゃばらない、
空気を読める
ギザカワユスなエクセルちゃんです。
とにかく、
プロシージャの実行速度が予測よりも遅い時は
タスクマネージャを見てみましょう!
Excelのウィンドウを最前面に出してみましょう!
ということです。
タスクマネージャと速度つながりで
話は続きます。
タスクマネージャの「プロセス」タブで枠内の1つを選んで
右クリックすると以下のメニューが出てきます。
この中で「優先度の設定」を選ぶと
このような選択肢が出てきます。
ウィンドウズをカスタマイズするような主旨の本に
プログラムの速度を速くしたいときは
これを「通常以上」とかにする。
と書いてあるのを見たことがあったので、
警告を無視して
「通常以上」「高」「リアルタイム」の全てで
速度を測ってみましたが
管理人ローカル環境では全く効果なしでした。
タスクマネージャについてですが
Win98では最前面から後ろに行ってくれたのですが
WinXPではなぜか他のウィンドウをアクティブにしても
一番前にいます。
かなり邪魔ですが
Excelがギザ休んでないかチェックするために
必要のなのでしょうがないですね~
エクセルちゃんを見習って
空気読んでほしいです。
| 固定リンク
この記事へのコメントは終了しました。

コメント