パスワードを忘れた? アカウント作成
16627848 story
Windows

Windows 10/11、タスクバーの秒表示によるバッテリー駆動時間の差は2%程度という実験結果 58

ストーリー by headless
実験 部門より
オプションの更新プログラムとして 24 日にリリースされたWindows 11 ビルド 22621.1778 (KB5026446) にはタスクバーの時計に秒を表示するオプションが追加されている。このオプションには「電力消費が増加します」とのただし書きが表示されるが、実際にどの程度影響があるのか Neowin の Taras Buria 氏が実験している (Neowin の記事)。

テスト環境は Intel の第 11 世代 Core i3 プロセッサーと 16GB の RAM を搭載した HP Pavilion x360。まず、Windows 11 をクリーンインストールしたら 100% まで充電し、画面の輝度を最大に設定して機内モードを有効化。AC アダプターを取り外したらストップウォッチのみを実行して放置する。バッテリーが空になったら再び 100% まで充電して再起動し、秒表示を有効にして同じことを繰り返す。ここまでの手順を 3 回繰り返したらクリーンインストールする OS を Windows 10 に変えて同様に 3 回繰り返すといったものだ。

サンプルが少なく正確さはどの程度か不明だが、すべての回で 8 時間前後のバッテリー駆動時間が秒表示を有効にすると 8 ~ 10 分短くなっている。具体的には Windows 11 で 1.892% 短縮 (1.829% の間違いと思われる)、Windows 10 で 1.902% 短縮とのこと。他にもさまざまな要素がバッテリー駆動時間に影響するため、2% 程度の差に気付くことはないだろうと Buria 氏は述べているが、ストップウォッチの画面が表示されていることを考えると意外に大きな差ともいえる。スラドの皆さんはこれだけの差が出ると予想しただろうか。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • PSR (スコア:2, 参考になる)

    by Anonymous Coward on 2023年05月29日 0時20分 (#4467729)
    ちょっと高級なノートPCだとeDP1.3の機能でPSR(Panel Self-Refresh)をサポートしているので、
    画面書き換えが無い状態が続くと、GPUとディスプレイ間の画像ストリーム転送を止められるから
    低消費電力になる。

    もっと高級なノートPCだとeDP1.4の機能でPSR2(画面の一部書き換え)をサポートしていて、マウスカーソル程度なら
    GPUからの転送量を減らせるので低消費電力になる(時計でも有効)。

    更に低リフレッシュレート(30Hzとか20Hz)に移行して低消費電力化するモデルもあるし、
    Active syncに対応していれば、デスクトップでも低消費電力化するはず。
    登載しているディスプレイ次第で、効果は大きく変わる気がします。
    • by Anonymous Coward
      調べたらHP Pavilion x360のディスプレイはeDP1.2なのでPSRは無効
  • by ogino (1668) on 2023年05月29日 10時19分 (#4467873) 日記

    秒表示って表示するかしないかの二択なんでしょうか。スリープまでの時間とかと同様に、AC 接続の場合とバッテリ駆動の場合と、場合別に on / off 設定できるようにすれば、バッテリ駆動時間の問題はほぼ解消するのではという疑問があるのですが。

    ググったところでは、AC 接続のイベントでレジストリ書き換えというのもそんなに難しくなさそうに見えます。

    • by Anonymous Coward

      MSが見て欲しくない場面だけデフォルトで非表示になる予感がする。

      つうか、秒表示自体がルーズなんじゃ???

  • by Anonymous Coward on 2023年05月28日 18時56分 (#4467602)

    表示状態を書き換えるために寝ていたハードウェアを起こして処理させる消費があるということなのかね。
    教えてエロい人。

    # 今の標準的なWindowsプログラマーがどのくらいハードの動きを考慮しながら実装を試みているだろうね。

    • by Anonymous Coward on 2023年05月28日 21時04分 (#4467660)

      そもそもちゃんと時刻表示に最適化した処理になってるのかな
      60種類の表示を並べた画像をあらかじめ生成しておいて1つあたりのサイズ×秒数のオフセットを指定して転送するだけみたいな感じの
      毎秒sprintfして任意のテキストを描画するためのAPIで表示させるみたいな無駄なことしてるんじゃないの

      親コメント
      • by Anonymous Coward

        え…、それ本気で言ってるなら20年くらい古いよ。

    • by Anonymous Coward

      ストップウォッチを起動してグルグル再描画してる条件で
      たかが時計を秒単位で更新しただけで差が出るというのであれば、
      ハードウェアよりもAPIやDWM周りが疑わしい気がしますね。

      GetLocalTime()が重いからキャッシュする、というコードはたまに見るし、
      タスクバーのレイヤを再描画するのは同居人も含めてコスト高そう。

      マウスやキーボード操作をともなう普通な使い方だったら
      静止状態で観測された差分はほとんど無くなるのではないでしょうか。

      • by Anonymous Coward

        ハードウェアもメーカーが適切に設定しなければ省エネ機能を使えないので…

    • by Anonymous Coward

      GPUとかですかね
      なまじGPU活用する作りになってるせいで一瞬全力で動いちゃうとか

    • by Anonymous Coward

      他にも処理はあるので起こすほど何もしないで寝てるとは思えないけど、1分に1回やってる処理が1秒に1回になるから程度では。

  • by Anonymous Coward on 2023年05月28日 18時48分 (#4467599)

    気温の変化や連続使用で排熱のためのファン稼働率変化、バッテリーの劣化や容量・残量検知の誤差なんかは無視できるのかな。
    理想的には同一機種を条件数分用意して同時並行でやるのがいいかなとも思ったけれど個体差もあるだろうし。
    ノートPCではなく、低スペックのファンレスPCなど使って消費電力を見るのがいいように思います。

    • by Anonymous Coward

      > 低スペックのファンレスPCなど使って

      それはそれで確かめることは悪くないと思うけど、大多数のユーザーにとっては一般的に広く使われてる環境の方が参考にできると思うな。
      様々な要因に左右されて厳密な測定はできないことはわかりきってるし、精密さを追い求めても意味がないよ。

      • by Anonymous Coward

        軽量化に心血を注いで開発した携帯を,
        女子学生がストラップじゃらじゃらで使っていたので
        脱力したという話を思い出した。
        >精密さを追い求めても意味がないよ。
        エ…

        • by Anonymous Coward on 2023年05月29日 12時13分 (#4467943)
          もし軽量化されてなかったらジャラジャラついたストラップで女子高生の背骨が折れていたかもしれないと思うと大事な仕事だったんだよ
          親コメント
  • by Anonymous Coward on 2023年05月28日 19時07分 (#4467606)

    ならシステムトレイの時計クリックしたときだけ秒数表示させるなら本当に誤差程度の違いしか出なさそうだな。
    やっぱり秒数非表示に仕様変更する必要なんかなかったんじゃないかこれ?

    • by Anonymous Coward

      これが誤差って人もいるのか
      秒数表示消すだけで2%も変わるなら消して正解だろとか思ってたんだけどw

      • by Anonymous Coward

        自分も2%って「マジかそこまで違うか」と思ったわ。
        期待としては「ほぼ0%」で、それなら「やっぱり誤差レベルだな」と思ったところだけど。

        • by Anonymous Coward

          100円ショップの安デジタル時計を、(携帯)PCに張り付ける気になる程度の差はある。

          • by Anonymous Coward

            残念ながら100均の時計は少なくとも地元のダイソーにある時計で確認したところ、秒の表示が省かれているのでタスクバーの時計の秒の代わりにはならないんです・・・

        • by Anonymous Coward

          この条件でこの程度しかないから、同じく大して変わらんなとしか思わなかった
          モニタを低輝度にしたらもっと増えただろうし、重いゲーム回してたらほぼ0に近かったのでは

          #世界中の消費電力が減らせる!!という利点はでかいかも

    • by Anonymous Coward

      秒の表示を止めるだけで、バッテリーの持ちが10分も伸びるんだよ?

      2%という割合だけじゃ無くて、実際の影響も見るべき。

      • by Anonymous Coward on 2023年05月28日 19時48分 (#4467625)

        マスコミが実数を持ち出すときは割合を、割合を持ち出すときは実数を見ろという法則があったな

        親コメント
      • by Anonymous Coward

        Windows10まででもタスクバーに秒数表示してた人ならそうだけど、多分常時タスクバーに秒まで表示してた人はそんなに居ないんじゃ?
        自分の場合、タスクバーには分まで表示で、秒が見たいときは時計クリックしてカレンダー引っ張りだしてた。

        カレンダーのところの(秒まで表示の)時計を消したから、秒を知るには常時タスクトレイに秒数出さなきゃいけなくなった。
        Windows10までと同じ仕様にしておけば、10分もの差が生じる羽目にはならなかったんじゃね?ってのが元コメの話。

      • by Anonymous Coward

        たぶん、「画面の輝度を最小」にして同様のテストをやれば、10分よりも遥かに大きな差が出るんじゃないかな。
        一方、放置するんのではなく、いろいろなベンチマークを走らせて、例えば4時間でバッテリーが切れる状況とかだったら、
        5分ぐらいの差しか出ないかもしれない(秒の表示で増加する電力が回りの状況に影響されないと仮定した場合)。

  • by Anonymous Coward on 2023年05月28日 20時01分 (#4467629)

    TVclockっていうソフトで常時デスクトップ画面に秒まで時刻を表示しています
    負荷を小さくするために、
    ・プロセス優先度「最低」で動作させる
    ・描画更新間隔を設定できる最大値にする
    この2つの設定で、負荷を上げないようにしています

    プロセス優先度を最低にしておくと、プロセス動作時にCPUコアのクロック周波数を上げたりしなくなるっぽい?

    最近はブラウザなんかでも、非アクティブなタブはプロセス優先度を下げるように制御されてる

    • by Anonymous Coward on 2023年05月29日 0時50分 (#4467735)

      プロセス優先度「最低」って実際どうなのかな。
      エンコードのような常時処理させるようなものであれば優先度下げたらその分だけ処理しなくなる=効果あるだろうと予想できる。

      けど、秒針のようなたまにしか処理せずほとんどの時間スリープしてるだけ、しかも優先度下げようが上げようがやることやって省かれる処理がない、そんな状態だとな。

      優先度そのままだと本業に忙しくてCPUクロック上がってるときに一緒にやって終わりだけど
      優先度下げたらCPUはidleに入って休みたいのに(ほんのわずかだけど)休ませてもらえない。
      そんな逆効果になって消費電力増えたり。

      親コメント
    • by Anonymous Coward

      むかしEMIclockを使ってたなぁ。
      https://yuna-k.jp/ [yuna-k.jp]

    • by Anonymous Coward

      TVclock、作者さんのサイト無くなっちゃったんすかねえ…

  • by Anonymous Coward on 2023年05月28日 21時11分 (#4467666)

    どうもWindowsの場合
    A:
    割り込み回数を増やして秒を表示する。
    これが原因だと思うけど

    B:
    タイマーチップから今の時間を表示するであれば
    秒のカウントはまちまち、もしくは本体のスペックに依存するが
    時間は正確に表示され消費電力も変わらない。
    Bを改良すると、タイマーチップ読む回数を減らし。
    割り込みカウンターから適当に内部カウントを行い表示する。
    適度にタイマーチップから読む場合、遅いハードでも全体に影響は少ないと思うけど
    この辺は工夫でなんとかなりそうだけどね。

    Apple的に作ればBに近いのだろうと思うけど
    全ては推測です。iPhoneにしてもiPadにしてもアイコンの秒針は動いてるからね。

    • by Anonymous Coward

      どんな方法をとろうが1秒に1回以上表示を更新する処理の実行は避けられないし割り込み以外のどういう手段でそれが実現できると思ってるの? まさかポーリングしているとでも?

      • by Anonymous Coward on 2023年05月28日 23時48分 (#4467720)

        PC/AT互換機の時代ならRTCはバックアップ用のもので、OS起動後のシステムクロックはインタラプトで加算していたけれど
        今時のハードは違うのかしら

        親コメント
        • by Anonymous Coward

          そもそもストップウォッチが動き続けてるのにね
          マイコン感覚でしゃべってる手合いがチラホラいて話が散らかり過ぎ

        • by Anonymous Coward

          モダンなOSはチックレスで決まった間隔で割り込みが起きるわけではないでしょう。
          Windowsがどうかは知らんけど。
          まあ、ソフトウェア的に管理された時刻フィールドがあるだけなのは同じですが。

    • by Anonymous Coward

      そもそも「時計の秒を低コストで滑らかに表示する」がOSの設計として優先度が全く高くないだろうし、
      時刻表示が重要なデバイスならともかく、汎用OSで時計機能のためのAPIなんて作らないんじゃないの。

      秒表示を実現するために、秒が切り替わった瞬間からなるべく早くそれを表示に反映しなきゃならないわけだけど、
      専用の時計アプリであればコストを消費してチェック頻度を十分高めていいし、ミリ秒単位で画面更新するユースケースもある。

      「時刻の秒が切り替わったタイミングで呼び出される」インターフェースがOSにあれば時計の秒表示は最小のコストで実装できるだろうけど。

  • by Anonymous Coward on 2023年05月29日 0時02分 (#4467726)

    10と11の比較では意味がない。

  • by Anonymous Coward on 2023年05月29日 8時09分 (#4467793)

    ノートは腕時計を見るといい。
    Windowsで時計は表示しない方がいいかもな
    パワー食い過ぎ

    • by Anonymous Coward

      そんな頻繁に秒単位の正確な時間確認が必要な人は、高精度な電波時計とか別の手段で確認してるだろうよ

      • PCの時計で秒に精度は求めてないから表示してもしなくてもいいかな
        アナログ時計表示で秒針が動いているとつい見てしまうこともあるけど

        親コメント
        • by Anonymous Coward

          PCの時計で秒に精度は求めてないから表示してもしなくてもいいかな

          昔のPCは高負荷や立ちごけで止まっていないかの判断に秒表示があった方が良かったけれど
          もうそんな心配は極々稀にしか起こらないですからねぇ

          # Meには必須だったのかあっても意味がなかったのか難しい問題だ

      • by Anonymous Coward

        普通はNTPかな。電波時計はたまに豪快に狂ってくれるので信用できない…。

        自分は複数のNTPサーバにつなげて平均取って精度上げる系のスマホアプリつかってる。
        https://apps.apple.com/jp/app/emerald-time/id290384375 [apple.com]

        テレビの時刻表示が秒なしになって久しいけど、特に不自由しなかったね。
        OSのタスクバーの時計も、秒なしで特に問題無いと思う。時計クリックすれば秒まで出てくるのだし。

        • by Anonymous Coward

          > 時計クリックすれば秒まで出てくるのだし。

          出ないんだよなぁそれが……。

  • by Anonymous Coward on 2023年05月29日 10時17分 (#4467871)

    ウォークマンを買い替えた(OSがAndroidに変わる前の最後の世代)んだがそれまで使ってたのは
    画面に時刻表示されてたのが買い替えたのは時刻表示されなくなってたな。

  • シャア
    「Windowsの構造上、まったく時計を表示しなければ4%Windowsのパフォーマンスが上がるのではないのか?」

    整備士
    「秒表示で2%? 冗談じゃありません。応答なしになりますが現状でWindowsでCPUは100パーセント出せます」

      シャア
    「秒を表示してないようだが」

    整備士
    「時計なんて飾りです。偉い人にはそれがわからんのですよ」

    シャア
    「非表示についてはさっきの説明でわかるが、Windows、私に使えるか?」

    整備士
    「大佐の腹時計は未知数です、保証できる訳ありません」

    シャア
    「はっきり言う。気にいらんな」

    整備士
    「どうも。気休めかもしれませんが、時計ならダイソーで売ってます、うまくやれますよ」

    シャア
    「ありがとう。帰りに寄ってみよう」

typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...