2ntブログ

Windows10は割り込みや分散処理が糞である

32ビット版Windows7から64ビット版Windows10にして一番思ったのが、これ。

とにかくアプリの起動が遅いし、Bluestacksとブラウザを同時起動していると、Bluestacks側で音が飛んだり音声が途切れ途切れになって、ノイズの入ったようなBGMになるなど、メモリ不足では片づけられない問題が多い。

なぜか?

Windowsとは会社の社長か上司のようなものである。
何もアプリケーションを起動していなくても、様々なサービスやプロセスという「社員」が働いている。
ちなみに社長も社員と同じ、ひとりの「人間」であるように、Windowsも「カーネル」というひとつのプログラムが本体である。

ではこの「カーネル」というWindows本体のプログラムは何をやっているのかと言えば、社員の管理だ。
Windows社長は、非常に面倒見の良い人で、社員ひとりひとりの仕事っぷりを定期的に見て回っている。
Windowsのアプリには、プライオリティとか優先度とか言われる設定項目がある。
これは通常は見えないが、アプリによっては設定画面やメニューに出てくる。
優先度は特に指定しない限りはノーマルとか通常とか呼ばれるモードになっており、これは例えば社長はその社員1人につき1分だけ定期的に面倒を見に来るというものだ。
その他に優先度が高いとかって設定もあり、この場合だと社長は他の社員より長く頻繁にその人の面倒を見に来てくれることになる。

またこれとは別に「割り込み」という機能がある。
これはWindowsの仕様というより、CPUと繋がってる様々な周辺機器が持っている特権みたいなもの。
プログラムだけのアプリケーションには無い。
音を出すチップやビデオカードやLANチップ、HDDを制御しているSATAチップ、USB機能を提供しているUSBコントローラなど、多岐にわたる。
これらには「割り込み」という、緊急回線みたいなものが用意されている。
この「割り込み」という仕様が無いと、たとえばWindowsみたいなOSは、定期的にマウスの入力を自ら調べに行かなくてはならない。
マウスの入力の有無を調べる処理をしている以外の時に動かされたマウスのデータは、破棄されてしまうのだ。
よって「割り込み」を使わずにマウスを動かした場合、カーソルはまったく動かないか、ものすごく反応の悪い動きをする事となる。
それでは困るので、マウスには「割り込み」という回線が用意されている。
Windowsが「マウス動かしたかなー?」て処理をしなくても、マウス側から「あ、いま動きました」って教えてくれるのがこの「割り込み」だ。
これが発生した場合、Windowsなどのプログラムは直ちにいま実行中のプログラムを中断して、マウスがどんな風に動かされたのかをチェックして、それに基づいてカーソルを動かす処理をするのだ。
だからWindowsのマウスカーソルというには、マウスの動きにぴったり連動して動いてくれるのだ。

さてこの「優先度」と「割り込み」という2つの、プログラムは外部周辺機器をスムーズに動かすための機能の処理が、Windows10はとても「下手糞」だと思うってのが、今回の話だ。

Windows7の時は、メモリ不足が大量に発生し、仮想メモリとのやり取りが頻繁に起こる状況でもない限り、アプリの動作が長時間止まったり、音が細切れになるなどの障害は出なかった。
しかしWindows10は、メモリにまだ余裕があっても、これが起きる事が多い。

確かにWindows7に比べて、Windows10はOS自身の機能も増えた。
そのため、Windows7時代のカーネル社長に比べて、Windows10のカーネル社長は何倍もの社員の面倒を見なければならなくなったので大変というのはある。
だがそれは、マイクロソフトが勝手にそうしただけだ。
10人だった社員が100人に増えたのに、今までと同じやり方で全員の面倒なんて見れるわきゃない。
だからよくフリーズするのだ。
HDDの稼働率100%が続いて、操作を一切受け付けなくなるという有名なWindows10の「不具合」も、実はカーネル社長の見回りの非効率さや下手糞さが原因でもある。
また「割り込み」処理という、緊急回線での強制イベントも、きちんとこなせてない印象を受ける。
USBの省電力管理の設定を、デバイスマネージャでOFFにすると、動作の弊害が治るという糞みたいな不具合回避、パフォーマンス改善方法を、マイクロソフトの技術者自身が提供した事もあるぐらいにw

昔のパソコンは、せいぜいキーボードと音声と画面の「割り込み」だけ処理してりゃ良かったのに比べて、今は様々な機能が増えたので大変になったというのはあるが、プログラマのレベルが著しく低くなっているとも感じる。
天下のマイクロソフトでさえそうなんだから、ゲーム企業なんかに優秀なプログラマがなんて来るわけがない。

それにWindows7時代とWindows10時代では、ハードウェアの仕様にそんなに差は無い。
アナログブラウン管テレビが、デジタル液晶テレビになったみたいな大きな差は、Windows95からXPになるまでの間に終わってしまっており、それ以降は4K放送が8K放送になったぐらいの差しか無い。
マイクロソフト自身が、勝手にWindowsカーネル社長の仕事を増やし、勝手に自滅してるようなもんだw
せっかく95からXPの間に、カーネル社長の業務スケジュールを何度も見直して、カーネル社長がぶっ倒れて「ブルースクリーン」が出たりフリーズしたりってならないようにして、完成させたのに。
なぜWindows10にその優秀なカーネル社長の業務スケジュールが、またおかしくなるような、あるいはそれでは対応できないような事をするのか?
Windows10は登場時よりは安定したと言われるが、Windows7に比べたら遥かに不安定非効率の糞OSだ。
カーネル社長がぶっ倒れないのは当たり前であり、さらにいかにほかの社員を待たせず、あるいは待っていると感じさせずにみんなの面倒を見てやれるかが、OSの優秀さなのだ。
今のWindows10は、カーネル社長がぶっ倒れたりフリーズする頻度が減ったに過ぎない。
それで登場時より良くなったから、みなWindows10使ってねなんて、よく言えるもんだ。
てめーらがこっそり集めてるユーザーの情報は何に使ってんだよ?w

ぶっちゃけ、Windows10にアップグレードする時に消してしまったデュアル起動で使ってた64ビット版のLinuxの方が、はるかに快適に動いてたぞ?

マイクロソフトはWindows10の「割り込み処理」と「優先度の仕様処理」を徹底的にもう一度洗いなおせ。
それがWindows10が7やそれ以前の一番完成していたOSと言われて評価の高かったXPと同等以上になる唯一の道だ。

Windwos10 画面の視覚効果はどこまで設定すれば良いか?

画面の視覚効果とは、WindowsXPぐらいから確かあったと思うが、マイクロソフトが勧める豪華な見た目のスタートメニューやウィンド表示にするか、初代Windows95のようなシンプルな見た目にしてパフォーマンスを優先するかの設定の事である。

私のPCはメモリ4GBとWindows10を使うにはギリギリな事と、そもそも見た目なんてのはすぐ慣れるし、見やすい使いやすいならともかく、リソースだけ食ってたいして使いやすくもないので、極力この視覚効果はOFFにしている。

視覚効果設定

本来であれば全部切って、ついでにこの視覚効果を実現しているサービス(たぶんデスクトップウィンドマネージャ)も停止したいのだが、「フォントを滑らかにする」を切ると、文字がとても見にくくなるのでチェックを入れている。
それともうひとつの、「アイコンの代わりに縮小版を表示」は、これがないとエクスプローラでダウンロードしたエロ画像や動画のフォルダを開いた時に、表示を「大アイコンで表示」にしても、縮小されたサイズの画像や動画の先頭の画面が出てこない、ただのアイコンになってしまって、何の画像なのか動画なのか分からなくなる。
なのでこれもチェックを入れている。
「エロ画像とかPCに保存してねーしwww」とかいう強がりな男性および女性の方は、このチェックは無くても良いと思う。

なお、全ての項目にチェックを入れた状態でないと、一部のアプリケーションでボタンが表示されなかったり、項目がぐちゃぐちゃになったりする。
TCPoptimizerというツールで、この現象が起きた。
また、なぜかスタートメニューを開いた直後に、マウスホイールでのスクロールが効かないというのもある。
Windows10のスタートメニューは幅が広くなって横にいらんWindows Storeだの天気予報だのが張り付いてる部分があるので、そこの余白を一度クリックすれば、スクロールは利くようになる。
おそらくスタートメニューは開いた瞬間に、そこにフォーカスされるはずが、されてないのだと思うが、どの設定がそれなのか、あるいはここではなく既に停止しまくったサービスのうちどれかがダメだったのか、分からないw

まぁそんなに困ってないので、参考までに。

Windows10 HDDアクセスが100%になり続ける現象の改善方法

もともと古いPCで、メモリも4GBしか載ってないしで、ある程度は致し方ないと思いつつも、Windows7より重いOSとはいえ、Windows7時代には仮想メモリ使いまくるぐらいの複数のアプリケーションの同時起動でもやらない限りは、HDDランプがつきっぱなしで、10分待とうが30分待とうが、まったくアクセスが終わらない。
おまけにCTRL+ALT+DELという、強制割込み停止すら効かないとか、流石におかしいだろと、いろいろ調べていた。

同じような現象に悩まされてる人は多いようで、解決策を提示しているサイトは腐るほど出てくる。
1.SATAドライバ(私の場合、Intel 5Serise)をWindows標準ドライバから製造元提供の最新版に変える
(なおIntelの古いチップセットはWindows10対応の最新版では対応から外されているので、Windows8時代の古いやつを使う)
2.OneDriveを無効化・削除
3.自動メンテナンスをレジストリレベルで強制停止
4.SuperFechサービスを切る
5.Windows Indexの適用範囲をスタートメニューに絞る
6.その他常駐アプリやサービスで不要なものを切る
7.仮想メモリをCドライブなどシステムとは物理的に違うドライブに4GB(4096MB)固定で設定

とやってきたが、一向に100%が長時間続く現象は改善しなかった。

ここまでで改善する人ももちろん居たとは思う。
これらのサイトの情報が嘘だとか効果ないとか言ってるわけじゃない。
PCは環境によって、効果がすごくあったりまったく無かったりするのは、珍しくないからだ。

そしてついに私のPCの環境で一番効果が出るものを、今さっき発見した。

それが「Connected User Experiences and Telemetry」という、マイクロソフトにPCのエラー情報やシステムパフォーマンス情報等々を送っているサービスを停止・無効化する事だ。
そもそもMSへ、PCからログオンやプロダクトキーの認証など以外の不要な情報を一切送らないよう、コツコツいろいろな設定はOFFにしてきたつもりだ。
だが実は、どうしてもOFFにできない項目がひとつだけあった。
それが「設定」→「プライバシー」→「診断&フィードバック」の中にある「診断データ」のMSへの送信設定のとこだ。
ここは「基本」と「完全」しか設定できず、「基本」にしていても「お使いのデバイス、その設定と機能、およびそれが正常に実行されているかどうかに関する情報」は送信されてしまうのだ。
別にこの程度の情報、送信されたところで何の問題も無いとは思っていたが、実はこいつがどうも癌だったようだ。

考えてみれば、デバイスの動作情報というのは収集するのにすごい時間が掛かる。
なぜなら、新しいハードウェアの検出やドライバーの自動検索の時、とくにWindows10は時間が掛かる。
それを新しく増設した1つのデバイスとかならまだしも、すべてについて毎回繰り返し何度もやってるのだ。
そんなことされた日にゃ、そりゃHDDのアクセスが100%になり続けるわw

これを止めただけで、HDDのアクセス100%がまったく無くなったわけじゃないが、その時間が圧倒的に短くなった。
そのため、他の処理が割り込む時間が出来て、結果的にソフトウェアリセットキーも効かない、音飛びする、アプリの起動や終了が異常に遅いなどの現象が大幅に改善された。

参考までに。

Windows10 タスクバーをWindows7クラッシック表示並みにする

Windows7のクラッシック表示では、タスクバーにはスタートボタンとワンタッチ起動できるアプリのアイコンと、あとは右端の方に常駐アプリのアイコンやIME、時間等々が表示されているだけだった。
ところが、Windows10になってから、検索とかいう枠は増えるわ、使わないOSにデフォルトで搭載されている音声認識機能のアイコンは出てるわで、非常にゴチャゴチャして見難いし、使いづらい。

これはタスクバーの設定をいじれば、限りなくWindows7クラッシック表示と同じ、スッキリした状態にできる。

やり方は、
1.タスクバーの上で右クリック
2.「検索」にカーソルを合わせるとその更に右に出てくるメニューで「表示しない」をクリックして✓が付いた状態にする
3.その他の「〇〇ボタンを表示する」「〇〇を表示する」も頭に✓が入っているようなら、クリックして✓が付いてない状態にする

これでWindows7クラッシック表示と同等の、スタートボタンとタスクバーからワンタッチで起動できるアプリ類のアイコンボタン、それと起動中のアプリのアイコンだけの表示になる。

なおスタートメニューを開いたときに、右側半分に表示されるあのウザい画面は表示しないようには出来ないらしい。
ほかのサイトでも調べたが方法がないと言ってたし、私もいろいろ設定を見てみたが、その表示をOFFにするような項目は見つけられなかった。
恐らくOFFにできるとしたら、レジストリを直接弄るなどの裏ワザだろうと思うが、今のとこ日本語のインターネット上には、その方法を見つけたり解説したりしてる所は見当たらない。
もしかしたら、レジストリ弄ってもできないのかもw

参考までに。

Windows10 一番のネックはディスクアクセスの重さか?

かれこれカスタマイズとツールやドライバーの最新版の入れ直し等々で、Windows10の環境構築2日目に突入している。

Windows10で一番動作を重くする要因が、HDDのアクセスだと最近分かってきた。
Windows10ではタスクマネージャが進化して、HDDの使用率などもデフォルトの設定でグラフ化した状態でリアルタイム表示してくれるようになった。
これを見ると、Windowsを入れているCドライブ、及びアプリケーション類を入れているDドライブがすぐに100%になる。
しかもそれがずーっと続くと、CTRL+ALT+DELETEまで効かなくなるという。

そこでHDDのアクセス状況を少しでも改善しようと、「標準SATA AHCIコントローラ」になってしまっていたのを、チップセットメーカーの最新版のものに更新しようと試みた。

私のPCのチップセットはIntel 5Sereiseという、かなり前の世代のものだが、一応はSATAが使えるので、そんなにHDDアクセスが遅いのは考えられないのだ。

Intel製のチップセットだと、専用ドライバを入れればかなり改善されるとの話もあった。
だが、なんと私の古いチップセットは、最新版はもちろん、Windows10に正式対応した一番古いバージョンのものからも外されていたw

また同時に最新版に更新しようとしたHD Audioやギガイーサネットアダプタの製造元であるRealtekの台湾本家ホームページが、なんかウィルスっぽいのに感染してるわ、そんでしばらくしたらページが削除されるわで、ドライバー入手がほぼ不可能にw

そこでいろいろ探した結果、本家マイクロソフトの技術員が紹介していた、Windows Updateで見つからないし、専用ドライバでなく汎用ドライバしか無いデバイスの、最新ドライバをまとめて検索できるサイトがある事が分かった。
英語サイトだが、このドライバ検索サイトで、Realtek系のドライバは最新版と思しきものを手に入れる事ができた。
一応、Avastでウィルスチェックして、問題ないのを確かめてからインストールし、デバイスマネージャでドライバの日付が新しくなった事と、動作に問題が無い事を確認できた。

さて問題は、そこで探してもWindows10対応のドライバが無いIntelのSATAコントローラだ。
Intel公式サイトでは、古いバージョンのドライバも落とせるので、それで5Sereiseチップセットが外されてない一番新しいのを探した。
12.9.0.1001という、Windows8までしか対象OSになってないのがそれだ。
試しに入れてみたところ、Windows10でもサポートツールのRST(ラピッド・ストレージ・テクノロジー)ツールも含めて動作はした。
ただしHDDのアクセススピードは、ベンチマークで若干数値が良くなったかな程度にしか改善しなかった。

どちらにしろ、もうマザーボードから替えないと、だめなようだ。
ニートにそんな金は無い。
SSDにしたり、メモリを8GB以上に増やしたりすれば、多少はマシになるだろうが、その金すら無い。

だれか恵んでくれw
カウンタ
プロフィール

ウホッ!いい男

Author:ウホッ!いい男
異世界転生を待ち続ける中高年のおっさん

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR