プログラミングボード
プログラミングボード

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 検索 過去ログ

[48]  タスクマネージャーの暴走
□投稿者/ Toshi -(2016/02/26(Fri) 17:03:29)

    プログラミングの話では有りませんが、32bit版Windowsを使ってて、OS自体が滅茶苦茶重くなる事が有ります。
    私は常にタスクマネージャーを起動しっぱなしにしてる人間なのですが、タスクマネージャーでCPU使用率を確認すると、タスクマネージャー自身、つまり「taskmgr.exe」のCPU使用率が40〜50%と、デュアルコアなので、つまりCPU一つを丸々占有してる状態でOS全体の処理が重くなります。

    以前からこの現象はちょくちょく有ったのですが、知らない間に現象が収まる事が多かったので、今まで「ま、いっか」と気にしてませんでした。

    しかし、最近、またこの現象が頻繁に起きて私を困らせます。
    そこで今回は色々調べてみました。

    結論から言うと、詳しい事は分からなかった・・・です。

    しかし、有る程度、原因が推測出来るだけの材料は揃ったと思います。

    原因は、グラフィック性能のしょぼさ、です。

    まず、この現象が起きる前提として、処理の重たいデコードによる再生の途中からこの現象が出始め、動画がスムーズに再生されなくなり、動画をポーズしてタスクマネージャで確認すると、この時点で既にタスクマネージャのCPU使用率が高くなってます。
    また、ePSXeなど、高いグラフィック処理を要求するアプリケーションを使ってても、10分もしない内に同様の現象が発生します。

    ノートPCでチップ内臓のグラフィックコントローラーを使用しているのですが、その様なPCは大抵の場合、メインメモリをグラフィックメモリとして利用しています。
    メインメモリは本格的なグラフィックボードと違って非常に処理の遅いメモリです。
    しかも、割り当てられるメモリは少ないです。
    昨今のグラフィックボードでは、ギガレベルのメモリを搭載してますが、メインメモリを利用する内蔵チップ型の場合、精々128〜256Mバイト程度しか利用してないと思います。(下手すれば64Mバイト程度って事も有り得ます。)

    最近の動画のデコードは高いグラフィック性能と有る程度のメモリを要求します。
    ePSXeなども同じです。

    これらのアプリは、画面に表示する動画アニメーションをスムーズに再生しようとして、沢山の情報を先読みし、バッファリングします。
    しかし、メモリが小さいので、すぐにバッファリングが詰まってしまいます。
    しかも処理が遅いので、バッファの中から再生済みのいらないメモリを破棄し、新たな情報を読み込む、と言うキャッシュ制御が詰まります。
    つまり、内蔵チップによるメモリ制御の処理待ちでメディアプレイヤーやePSXeなどは「まだですか?」と繰り返し確認する為だけにCPU負荷を取られる訳です。
    それは、リアルタイムで画面を更新するタスクマネージャーも例外では有りません。
    タスクマネージャーもGDIと言うグラフィックコアに「画面を更新してくれ」とリクエストをしますが、GDIは「まだグラフィックのキャッシュ処理が終ってないから、待っててよ」と返します。タスクマネージャはしばらく待てば良いのに、プログラミングされた通りの高速リトライで再確認に行ってしまうので、ビジー率が跳ね上がってしまう、と言う訳です。

    その様な事情なので、仮にタスクマネージャを終了させても、内臓チップによるメモリ掃除処理に掛かる時間自体は大して変わらないので、メディアプレイヤーやePSXe自体がスムーズに動く様にはなりません。

    つまり、内臓チップのキャッシュ掃除が終われば、自然とタスクマネージャの負荷は通常値(10%前後)に落ちます。
    しかし、この後引き続き動画やゲームを再開すると、同じく重いままです。
    それは、詳細なグラフィックデータがキャッシュに一杯溜まったままだからです。
    つまり、掃除は完璧に行われていない、と言う事になります。
    このゴミとなった「詳細なグラフィックデータ」を掃除するには、「簡易なグラフィックデータで一杯にしてやれば良い」と言う事になります。
    つまり、処理の軽いアプリケーションのウィンドウを最大化したり最小化したり、テキストベースのインターネットページを閲覧するなどです。
    そうすると、内臓チップはメモリに残ったゴミ掃除を簡単に出来る様になりますから、動画やゲームを再開した際にしばらくはスムーズに動く様になります。

    つまり、根本的解決方法は今の所「無い」と言う事になります。
    グラフィック性能の良いノートPCに買い換えるか、若しくは重くなったらしばらく休んで、またちょっと動かし、また休んで、を繰り返し使うかしか選択肢は無い状況かなと思います。

    呪わしくは、ハード性能に頼ったソフトウェア文化の台等ですね。

    尚、姑息な手段では有りますが、動画だけなら回避方法が無い事も有りません。
    それは、デコード処理が比較的軽い、MPEG2若しくはMPEG1にコンバートしてから再生する、と言う方法です。
    デュアルコア世代のノートPCなら、MPEG2なら問題なく再生出来ると思います。
記事引用  削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →タスクマネージャーの暴走:結論 /Toshi
 
上記関連ツリー

Nomal タスクマネージャーの暴走 / Toshi (16/02/26(Fri) 17:03) [48] ←Now
Nomal タスクマネージャーの暴走:結論 / Toshi (16/06/26(Sun) 12:20) [49]

All 上記ツリーを一括表示
 
上記の記事へ返信
Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 検索 過去ログ

- Child Tree -