
Windowsタスクバーの時計の『秒』表示はパフォーマンスへの影響が大きい 148
ストーリー by nagazou
そんなに負荷がかかるものだったのか 部門より
そんなに負荷がかかるものだったのか 部門より
Windowsのタスクトレイにある時計は標準では「秒」は表示されない。ただWindows 10まではレジストリを書き換えることで「秒」を表示できたが、Windows 11ではこうしたこともできなくなっているそうだ。Microsoftの公式ブログ記事によると、もともとはWindows 95時代にベータ版から製品版に仕様変更されるとき、メモリパフォーマンス改善のために秒表示を止めたという(Microsoft公式ブログ、PC Watch)。
現在のPCでは大容量のメモリを搭載しているが、それでも秒表示を行なわないのもパフォーマンス対策のためだという。マルチユーザーのシステムでは、複数のユーザーがタスクバーの時計の表示の更新が必要なため、100人いれば100回タスクバーの刷新が必要となる。秒表示の廃止は更新のためのCPU資源の浪費を防ぐ意味もあるという。シングルユーザーの場合も、秒表示をさせるとCPUが低電力状態になるのを阻害してしまうことが検証で判明しているとのこと。このためWindows 11では秒表示ができなくなっているとしている。
現在のPCでは大容量のメモリを搭載しているが、それでも秒表示を行なわないのもパフォーマンス対策のためだという。マルチユーザーのシステムでは、複数のユーザーがタスクバーの時計の表示の更新が必要なため、100人いれば100回タスクバーの刷新が必要となる。秒表示の廃止は更新のためのCPU資源の浪費を防ぐ意味もあるという。シングルユーザーの場合も、秒表示をさせるとCPUが低電力状態になるのを阻害してしまうことが検証で判明しているとのこと。このためWindows 11では秒表示ができなくなっているとしている。
老人の独り言 (スコア:5, おもしろおかしい)
今の若いモンは知らんだろうが、昔はCD-Rなるメディアがあったのじゃ。
なんとフロッピーの何百倍という容量がある、夢のようなメディアだったのじゃ。
あ、フロッピーというメディアも若いモンは知らんか。
昔はPCが非力だったり、CD-Rドライブにまともなバッファ制御がなかったりで
ちょっとでも書き込み中に別の処理が入ると書き損じする事があったのじゃ。
タスクバーの時計ですら負荷がかかるという事でタスクバーの表示すら消す
フリーソフトなんかもあってそういうのを使ってじっと書き込みが終わるのを
待っていたのじゃ。
…その頃からの刷り込みでタスクバーの時計は重いという先入観が抜けきれない。
Re:老人の独り言 (スコア:2, 参考になる)
今の若いモンは知らんだろうが、昔はサンドボードやデジタル・オーディオ・インターフェース・ボード(DAIボード)なるデスクトップPCのバスに挿して使う拡張ボードがあったのじゃ。
なんとサンプリング周波数44.1kHzや48kHzでデジタル・レコーディングが出来る、夢のような拡張ボードだったのじゃ。
あ、CDのサンプリング周波数の44.1kHzやDATのサンプリング周波数の48kHzも若いモンは知らんか。
昔はPCが非力でも、ちょいちょいとシステム設定を変えるだけでWindodws3.1やWindows95でも同時録音再生すら安定して出来たのじゃ。 ところが今のPCはWindowsのサウンドシステムにお節介な(ソフトウェア)サンプルレート・コンバーターやミキサー機能が組み込まれていたり、オーディオ入出力をサポートしたブラウザがサウンドシステムに無駄な負荷を与えたり、USBオーディオインターフェースのUSBのクロックとA/D・D/Aのサンプリング・クロックの同期の問題のためにジッターが生じたりして、安心して高品位のオーディオ入出力をするのが難しくなっているのじゃ。(USBオーディオのクロック/サンプリング・タイミングのドリフトは馬鹿なオーディオマニアが騒いでいる水晶発振器のクロック・ジッターなどとは違って、きちんと計測をすれば違いが出る現実の大問題なのじゃ)
今どきの若いモンは技術が退化することもあるということを理解しなければならないのじゃ。
…そういうわけで常に最新のPCと最新のOSを求めるようなことはしない。
Re:老人の独り言 (スコア:1)
若いもんに、
・書き込みに1時間程度必要、中止はできない(電源プラグ抜きでのみ可)
・書き込み容量に関わらず1時間コース
・書き込み中にエラー検出はできない
・更に1時間かかるベリファイでのみエラーチェック可
・メディアは1回のみ書き込み可
・メディアは1枚1000円
という点も教えるとドン引き
Re: (スコア:0)
シングルコアで、CPUクロックが100MHzもなかった時代ですよねぇ
サウンドカードのI/Oにぶら下がっていてPIO制御とかだとソフトポーリングで動作していたら
そりゃアンダーラン発生するよなぁ
しかも当時は一枚1000円くらいしたから失敗すると泣いたものでした
Re:老人の独り言 (スコア:1)
CD-RのPLEXTORとSSDのPLEXTORはほぼ別物じゃなかったっけ?
パフォーマンス……? (スコア:2)
長期的にWindows 365 Cloud PCに移行するために仕様を揃えたいのではなく……?
インターネットビートというのがあって (スコア:2)
ので、秒とセンチビートをともに表示していた。
ふと数えてみたら、108秒間に233回表示更新していたはず。
¶「だますのなら、最後までだまさなきゃね」/ 罵声に包まれて、君はほほえむ。
Windows 365 クラウド PC の遅延を誤魔化すための詭弁でしょう (スコア:2, 興味深い)
https://www.microsoft.com/ja-jp/windows-365 [microsoft.com] や今後展開していくであろうクラウドサービスで生じる「遅延」や「パケットロス」等を誤魔化すための詭弁でしょうね。
Microsoftは今後このようなサブスクサービスで儲けようとしているわけですが、インターネット経由だとどうしても遅延が生じてしまうし、サーバーまたは通信が不安定になると、秒のカウントが飛んだりすることに繋がるので、それをばれにくいようにするためだと思われます。
地上アナログから地デジにしたときに、時報を止めたり、時計表示を止めたり(もしくは分の切り替わりをじわじわと時間をかけて行うエフェクトで誤魔化したり)したのと同じでしょう。
Re: (スコア:0)
うーん、常駐時計プログラムかなんかでもって表示させれば
遅延なんぞ速攻バレるよなぁ
無駄な努力よ
# まあなかなか1sec毎の表示を低負荷低ジッタでやるのは難しいのだが
シンクライアントやターミナルサービスは昔から流行らない (スコア:2)
サーバーですべて処理して端末は画面表示だけってゆうのは、
テキスト端末からの流れだろうけど、ハードウェアも安くて高性能だし、
端末に処理を割り振ってもいいと思う。綺麗じゃないけど。
Webサーバで動くCGIと端末のブラウザで動くJavaScriptみたいに。
これなら端末の時計表示なら端末で処理すればいいし。
そうすると端末間で秒表示が違ってくるかもだけど、
PCの時間とサーバの時間がずれてても、大事な処理はサーバの時間で処理すればいいし。
# クラウドゲームで3Dとか誰得なんだろう。
# 作りやすいのかな。チートが防げるか。
# 壁の向こうのキャラの情報は端末に送らなきゃいいんじゃないの?
Re:シンクライアントやターミナルサービスは昔から流行らない (スコア:1)
Windows的には、帯域の確保があるていど期待できるようになったので、サーバー側で描画して、クライアントは表示のみに専念できるようになったって感じだと思うよ。
Windowsのリモートデスクトップ(RDP)は本来、GDIの命令を送ってクライアントでGDIの命令を実行するって方式。9600bpsのモデム接続でも快適とはいかなくとも十分実用レベルの性能が出せた。
今は、帯域がある程度期待できるし、動画コーデックの性能も桁違いに上がったので、そこまで絞る必要がない。
サーバーで負荷の高い3Dの計算してから送れば、クライアントに高性能な機器がいらないから、ハイエンドのデスクトップ並の処理を駆動時間は気にせず実行できる。
クラウドサービスなら料金プランによって、動的に性能を変えることもできる。
アプリのつくりやすさ変わらんけど、デプロイの容易さは変わるよね。全ユーザーに最新アプリを使ってもらいたいとき、デスクトップアプリとWEBサービスのどちらかを選ぶような話なので。
ハァ? (スコア:1)
ハァ?と思ってしまった。
パフォーマンス上の問題?そもそも、秒表示が必要だからそう設定したいのに、それが提供できないことこそ「パフォーマンス上の問題」じゃないのか?
それでCPUが低消費電力モードに入れないってんなら、入る必要はないだろ。
CPU資源の浪費?必要な消費では?せいぜい、秒を表示する設定をする設定UIに「秒を表示すると消費電力が増えます」と書いておけば良い話(そもそも設定UIが無いが)だろう。
100人ユーザーがいたら100人分の更新が必要?マウスポインタも同じことが言えるんじゃない?じゃぁマウスポインタを無くしますか?
何をたわけたことを言ってるんだ。誰のためにWindowsを作ってんの?正気?
つまりWindowsでは分単位の時間合わせで十分ってことかな? (スコア:1)
時間ベースのAuthenticatorは、せいぜい15秒くらいのズレしか許容してくれなかったと思うんだけど……
Re:つまりWindowsでは分単位の時間合わせで十分ってことかな? (スコア:2, 参考になる)
AD下でのログイン認証(Windows統合認証)は、5分までずれていてもOK。
インターネット経由…Authenticator…つまり、TOTP(RFC6238)での時刻のズレの許容範囲は、認証先サーバー側の設定次第。
30秒もしくは60秒間隔で、1、2回程度前後のトークンでも認証は可とする場合がある。
例えば、RFC6268自身には、30秒更新で今回1回分(30秒)、過去分2回(60秒)までの時刻のずれを許容する例を示しているし、
EPEL(Extra Packages for Enterprise Linux)に含まれるGoogle Authenticator向けPAMでは、確か最大4分までのずれを許容できるように設定できる。
ちゃんと動いているかどうかの確認 (スコア:1)
Windowsって全体的にUIのフィードバックが少なくて、ちゃんと動作中なのか負荷がかかってるのか分かりづらいので、
その確認のために時計の秒を表示してたんですけど、そういう人っていないのかな。
「クロック」アプリかウィジェットで表示さえしてくれれば (スコア:1)
単一のハードウエア上のWindows OS システムに100人がログイン? (スコア:0)
>複数のユーザーがタスクバーの時計の表示の更新が必要なため、100人いれば100回タスクバーの刷新が必要となる。
お前さん、自分の使われ方について、理解が浅いんでないかい?
#そもそもそういうシステムを前提としていたら全員にGUIを提供すんな
Re:単一のハードウエア上のWindows OS システムに100人がログイン? (スコア:3)
現状の使われ方の問題ではなくて、近い将来に計算機センタを建ててWindowsをサブスク提供したい計画があり、筐体あたり100人程度は突っ込みたくあるので、その時に時計の表示があると問題になることを予想して切ったのではないかと。
Re:単一のハードウエア上のWindows OS システムに100人がログイン? (スコア:2)
言ってること私のコメントとか他のACさんのコメントと変わらんのでレスは省略しますね。
Re:単一のハードウエア上のWindows OS システムに100人がログイン? (スコア:2)
いや、こう…会話になってないので…
Re: (スコア:0)
100という数字は盛って出した数字なんだろうな思いますけど、
ワークステーション用途でリモートデスクトップで10ユーザーつないでるなら、
毎秒10回画面更新のための通信が必要ですな
パフォーマンスいうなら (スコア:0)
むしろ時計非表示にさせてほしいんだけど
Re: (スコア:0)
Windows10の場合。
スタートメニュー-設定-個人用設定-タスク バー-[通知領域]システムアイコンのオン/オフの切り替え-時計
をオフにすれば非表示になるけど?
Re:パフォーマンスいうなら (スコア:1)
Windows 11では非表示にできなくなりました。
ひらめいた (スコア:0)
枠に本物のデジタル時計を埋め込んだディスプレイを作れば売れるんじゃね?
Re:ひらめいた (スコア:1)
鳩時計の搭載なら購入を検討したい。
通知と連携できれば、なおのこと良し。
Re: (スコア:0)
一定時間ごとに画面から鳩が3Dで飛び出してきたら嫌だな。
# 3Dでなくても、画面いっぱいに鳩が表示されても困る。
# デスクトップなら物理的に内蔵可能かな。
Re: (スコア:0)
>通知と連携できれば
「通信と連携できれば」と空目して、本物の鳩(伝書鳩)を使って通信させるのかと思ったよ
Re:ひらめいた (スコア:1)
RFC1149ですね~
Re: (スコア:0)
カメラの小窓がパカッと開いて鳩が飛び出る?
でもあれカッコーらしいよ。
Re: (スコア:0)
天才やな。
ディスプレイポートのプロトコルで時刻合わせもしてほしい。
苦しい言い訳 (スコア:0)
「秒表示をさせるとCPUが低電力状態になるのを阻害してしまう」などというのが本当なら、
ソフトかハードの一方または両方が欠陥品なのでは?
こんなこと2022年にはあり得ない言い訳だ。
Re:苦しい言い訳 (スコア:1)
アイドル時は省電力のためにイベント溜めたりするから、1秒毎に割り込みが有ると影響はかなり有るかと。
Re: (スコア:0)
古いハードウェアを切り捨てたら(近頃Windows 11で実証された通り)文句言うくせに。
Re: (スコア:0)
なんで最新ハードウェアに欠陥品の可能性があると思ったの?
欠陥品の可能性があるのはソフトしかなくね?
Re: (スコア:0)
難癖付けて気持ち良くなりたいだけなんで、真面目に聞かれても困るな。
Re: (スコア:0)
パソコンは何億個のものトランジスタを積んだCPUで動かしてるというのに
数石のトランジスタで作れるデジタル時計以下の仕事しかできないというのはおかしい
Re:苦しい言い訳 (スコア:1)
数石のトランジスタで作れるデジタル時計
回路図希望!
# 「LSIは一個で一石」というのは無しで
Re:苦しい言い訳 (スコア:1)
>数石のトランジスタで作れるデジタル時計
精度はともかく、デジタルの定義によっては行けるかも
https://ja.wikipedia.org/wiki/%E3%83%91%E3%82%BF%E3%83%91%E3%82%BF%E6%... [wikipedia.org]
#というか、電子回路レスも可能ですね
Re: (スコア:0)
だよなぁ。
ビジーループしているわけでもあるまいし。
ユーザが触れる設定項目を徹底的に絞りたいだけだろう。
Re: (スコア:0)
少し前の、タスクバーの表示位置を変更する機能の追加ができない理由もだけど、
MSの開発者のレベルが落ちたとか、
Windowsが古くなりすぎて基本的な変更にも耐えられなくなってきているとか、
そういったことが起きていそうだなぁと思わされるね。
Re:苦しい言い訳 (スコア:1)
近年の Windows は誰に言われなくても macOS を意識している感が強すぎるねえ…
ホントか? (スコア:0)
秒単位で描画が発生するのは確かに負荷といえば負荷だが、それ以上に他のシステムプロセスが動いてるんじゃないの?
ログとかメッセージパッシングとか外部との通信とか。
そういうものと比較すれば微々たるもののような気がするけどね。
#まあMS公式ブログで言うなら本当かもしれないが…
Re: (スコア:0)
いやRaymond Chenの個人ブログだよ。ていうかみんな大好きOld New Thingだよ。公式ブログというのはnagazouマジックだろ
時計用APIが欲しい (スコア:0)
日時を取得するAPIはあるけど
その変更をトリガとしたコールバックAPIは存在しない。
だから時計の秒を表示は、毎秒10回ぐらい日時を取得して変化があったら描画するという処理になる。
分表示は500msecに一度取得して表示更新してやれば十分実用に足るんだけど
秒表示は500msecぐらいだと一秒の表示間隔がおかしくなって違和感がでる(きっちり500msecごとに処理できればいいんだけど、500mmsecに誤差があるのが原因)。
なもんだから、秒の時計作ろうと思ったら100msecなど短い間隔で日時を取得してって意外にコスト使う。
時間の変更をトリガとしたAPIが欲しい。あれば秒表示でも1秒に1回の処理ですむのに。
#RTCから直で割り込み発生してくれ
Re:時計用APIが欲しい (スコア:3)
Waitable Timer(SetWiatableTimerEx)使えば設定した時刻になったらAlartされるでしょ。
それがWindowsのMessagin Loopと相性悪いといわれればそうだし、正秒からずれる上タイマ割り込みも集約(Timer Coalescing)されちゃう、といわれればそれもそうだけど。
Re: (スコア:0)
りくつはわかる。
しかし正確な時計特化タイマーが一般に需要があるかというと…
Re: (スコア:0)
> #RTCから直で割り込み発生してくれ
日時ってソフトウェアでカウントしてるんでないの?
RTCは起動時の初期値と適度に補正値として使ってるんじゃないかと想像してる。
そうしないとクロックのずれでミリ秒の扱いがやっかいすぎる。
Re: (スコア:0)
ミリ秒単位で現在時刻取得して、それが0:00:00.100なら
900msec後に起こしてくれとタイマー設定すればいいのでは?
ポーリングじゃあ省電力にならない。
結論 (スコア:0)
アニメーションWeb広告は、タスクトレイの時計なぞ比較にならんほどCPU資源を浪費するので、
全人類の総力を挙げて滅ぼすべきである。