ウェブサイトがCPUとバッテリーを浪費している理由とFirefox
引用元:https://news.ycombinator.com/item?id=43062546
計画は進んでるし大事なことだから、早く修正したいと思ってるんだ。ただ、音声のコンテキストを一時停止するのは簡単じゃなくて、かなり複雑なんだよね。でも、他の人たちがやってるから、必ず解決するよ。
批判を個人的に受け取らないでね。最近、批判をフラストレーションと感じたオープンソースのメンテナが騒ぎを起こしたから。多くの人が言いたいことは分かってるから、時間が限られてる中でやってるってことを知っておいて。Firefoxの開発者たちがユーザーのために一生懸命やってるのを知ってるよ。
長年のFirefoxユーザーで、変えるつもりはないよ。開発のことは分かるけど、今回は優先順位の問題だと思う。もっと良くなる可能性があるけど、それには時間と労力が必要。Mozillaはいろんなことに手を出してるけど、Firefoxは最も重要なものだと思うから、開発者にはチャンスを与えて欲しい。
ハードワークに感謝!Firefoxは本当に大事だと思ってる。
Firefoxユーザーから感謝の気持ち!それと、OPはもう分かってるかもしれないけど、”完璧じゃないけど、十分良い”って感じ。
ローカルで問題をデバッグすることで、Firefoxをもっと使えるようになりたい。どこから始めればいい?
開発ドキュメントのインデックスがここにあるよ。デバッグに関する記事へのリンクもあるから、参考にしてみてね:
https://firefox-source-docs.mozilla.org/
ありがとう!
文句を言う人の数十倍の人が、毎日Firefoxを愛用してるってことを知ってほしい!開発者たちが、クリックベイト的な記事から有益な内容を抽出できるよう願ってる。
このことについての言葉やエネルギーに感謝!
この件についての努力に感謝!”サイレンス時にサスペンド”以上の複雑さについての話を聞きたい人も多いはずだよ。リンクがあれば教えてほしい。
Bluetoothのレコードプレーヤーについてなんだけど、45回転を理解してないんだ。メーカーはアダプターを入れたのに。静かな部分でBluetoothが切れることもあって、”サイレンス”と”スリープ”の定義はどうなるの?
なんでBluetooth付きのレコードプレーヤー持ってるんだろう。アナログ媒体のコンセプトに反してるんじゃない?
Firefoxユーザーからの大きな感謝!
>”すぐに直せるといいんだけど、長い間待たせてごめん。”
バグズリラの現状を二文で説明すると、こんな感じだね :P
Firefoxの開発にみんなが頑張ってるのほんと感謝!ありがと!
こういう問題が優先順位を上げてくれたらいいな。バッテリーを奪ったり変な動作が多いと、ユーザーはソフトウェアを使うのをやめちゃうからね。Firefoxが relevancyを維持・向上することが大事だと思う。ChromiumやBlinkに対抗するのはすごく難しいと思う。
ありがとう!あなたの努力でウェブがオープンに保たれてる。
努力と進捗状況を共有してくれてありがとう。バグズリラで進捗を追えるリンクはあるの?
Linuxで変な音声の問題があってスピーカーのポップ音が出たり、新しいタブを開くと他のタブの音が永久に歪んで静的になることがある。これは不満ではなくて、ブラウザかオーディオシステムの問題なのかなってずっと思ってた。
この問題が発生した時、speech-dispatcherを無効にして消したら直った。音声合成のせいみたいで、使わないけど必要な人には面倒かも。 ビデオ通話でこのフィードバックが来てる。ハイバーネーションやマイクの入力レベルが120%にリセットされることと関係があるのかなと思ってた。 ありがとう!この記事には、なぜ無音の代わりにホワイトノイズが再生されるのかが書かれてない。 もしかしたら、何も再生されていないのかも。オーディオセッションを開くとDAC/アンプが起動してアナログのノイズフロアが聞こえるのかも。それによって再生中のノイズは常に存在していて、無音の時に気づくことが多いのかも。コンピュータはオーディオには厳しい環境だし、外部オーディオインターフェースを使う方がいいかも。 OPの問題はDiscordのウェブアプリが最悪な存在で数年前から知ってた。俺のシステムだと音が低電力状態になって、何かが復帰する時にポップ音が鳴るんだ。タブをミュートにして通知もオフにしても、時々発生してた。他のサイトも同じ問題があったけど、頻度は少なかった。結局、低電力状態を自動的に無効にして、バッテリーはちょっと使うことになったよ。 >コンピュータはオーディオにとって本当に厳しい環境なんだ 携帯電話が近くにあったら、スピーカーからRFIが聞こえたのを忘れちゃダメだよ!電話が鳴る直前にノイズが聞こえるんだ! いくつかの素敵な電子音楽に使われてた! スピーカーが電源入ってる時、実際のラジオ放送も聞こえたことがあったな。マジで狂気だよ! この技術には驚かされる。ラジオはシンプルだけど広く存在する技術で、ラジオ用じゃないものでも信号をキャッチして再生しちゃう。なくならないことを願ってる。 子供の頃、強力なAM放送の660KHZから6km以内で生活してたんだ。幸運にもストーブの煙突と家のアルミ裏の断熱材のおかげで、周波数で共鳴する受信機ができてた。感電もあったし、音が常に流れてて普通だと思ってた。電子工学に興味を持つきっかけになった。 >外部の電話が届かないリスナー向けのバス中継メッセージって興味深いね! 川の上流に行くっていうメッセージや、誰かが亡くなったとか、葬式のこととか、町に誰かが来てるとか。 素晴らしい話、シェアしてくれてありがとう! >電話が鳴る直前にノイズが聞こえたってこと、あんまり考えたことなかったけど、実際に経験してたら信じられないと感じる。 それは偶然だけどすごく役立つ機能だった! システムの状態をバスの活動音から推測できることもあったよね! CRT時代は、ウェブサイトをスクロールするたびにスピーカーから音が出てたのは笑った。 それ聞けてよかった!高優先度のバグとして扱うべきだね。Firefoxの開発ありがとう! Firefoxの開発、ほんと感謝! 音を鳴らさずにオーディオコンテキストを開くのはボット検出の手段かも。異なるブラウザエンジンやOSでは音声処理が異なるから、無音の音を再生して記録すると特徴が出るんだ。 ブラウザやウェブの標準化の人たち、API作りすぎて悪用されること考えないで進めてる気がする。 考えたんだろうけど、フィンガープリンティングって簡単すぎるし、根本から始めても止めるの難しいよね。 俺は少数派かもしれないけど、99.99%のサイトに音を出させたくない。残りのサイトでも音なしで過ごせるよ。 このAPIを作った企業を見れば、彼らがどう悪用できるか考えたのは明らかだ。 ボットを騙すためにオーディオコンテキストをシミュレートするプラグインも出回ってるらしい。驚きだ。 Cloudflareがこれを実装して、俺のブラウジングの自由をさらに奪うのが待ち遠しい。CPUサイクルも無駄にしそうだ。 彼らのボットチェックが、すでにそういうことをやっている可能性もあるよね。Web Audioは昔からあるし。 ほんと、このホワイトノイズに悩まされてたけど、原因を探せなかったんだよね。タブに”再生中”のアイコンが出なくて、タブをミュートしても音は止まらないし、Windowsの音量ミキサーでFirefoxをミュートしてもダメだった。デスクトップユーザーにはこのアドオンあまり良くないかも。ホワイトノイズが頻繁に始まったり止まったりするのが余計にうざい。 > 大音量ミキサーでFirefoxをミュートしてもダメなんて言ってるけど、これはFirefoxのバグってこと? 必ずしも。現代のWindowsではアプリとは別に新しいミキサー/メディアソースを作れるから、アプリの音と別のメディア音を持てるよ。 自分はデスクトップで拡張機能を使って問題なかった。どんなサイトを訪れるかによるんじゃないかな。頻繁に音が出るサイトには拡張機能をオフにしたほうがいいかも。 出力がアイドル状態になると、デジタルSPDIF信号が同期を失う。再同期はプレイバックが始まった時に即時じゃなくて、最初の1秒くらい音が失われるんだ。データをラインに送り出さず出力を常にオープンに保つプログラムを書いたけど、ノートPCに関してはエネルギー節約が重要だよね。 MacbookのFiiO K3 DACでほんとイライラした。システム音が遅延するせいで鳴らないことが多かった。Windowsのドライバにはストリームを常にオンにするオプションがあるけど、MacOSにもあればいいのに…。 同じように自分もUSB DAC用にちょっとした工夫をしてて、ログイン時に 自分の解決策よりずっと優雅な方法だね。 あ!これでAndroidのFirefoxで発生した問題が説明できるかも。時々、電話が突然10GB/日もデータを使って困ってたんだ。ニュースサイトが音声を流して新しい広告をリピートしていたせいで、タブがスリープ状態にならなかったんだ。繰り返し請求が馬鹿らしくなってChromeに切り替えた。 自分も似たような現象に気付いてたけど、サイトが本当にオーディオコンテキストを開いているのか、それともFirefox内部の問題なのかはわからない。YouTubeやWeb Audio APIを使ってないサイトでも起こるから。バッテリーの持ちがめちゃくちゃ悪くなって、Firefoxを捨てたくはないけど、他のブラウザに切り替えようと思ってる。 Chromiumのコードはここにある: audioContextの実装の詳細は分からないけど、ちょっと賢くてダイナミックにできてると思う。通知音を鳴らすのが、D3でSVGを描くより複雑な気がする。もっと効率的なAPIで通知ハンドラーを登録するサービスワーカーのフックがあればいいな。 音が聞こえるべきなん?MacOSのFirefox 134.0.1だけど、音が全然聞こえない。 音は聞こえないけど、著者のデモページの音再生ボタンをクリックしたら、消費電力が約1増えた。 FirefoxのAndroid版で、ほんの少しホワイトノイズが聞こえる! ありがと!これでhttps://www.dr.dk/のフロントページが直った。 休止中のAudioContextが白いノイズを出してる理由ってなんなん? AudioContext自体がホワイトノイズの原因じゃないよ。音声DACが電源オンになることによって、自身がノイズを出すかもしれない。 ブラウザやOSのサウンドサーバーが、“サイレンス”と“何も再生されていない”を区別できるのか、ずっと気になってた。Bluetoothのオーディオデバイスに関わる重要な差なんだけど、APIはどうなの? 一般的には、サイレンスと何も再生していないのは違う。オーディオソースを作成して、下の層がバッファを渡してくるパターンもある。アプリと物理音声の間にはたくさんの層があって、その分電力を消費する。 確かに、検出することは可能で、必要な場合は下の層がそうしてる。Firefoxが“音声再生中”的なタブインジケーターを追加したとき、初めはサイレンスでも表示されてたけど、その後静かな部分はインジケーターが消えるようになった。 同じ問題がAndroidデバイスでも起こるんだろうか。 “ウェブサイトが微かに聞こえる音で人の心を操る”っていう陰謀論が想像できる。 抽象化層は難しいしバグもある。抽象化層を減らす方法を考えた方がいい。仮想マシンで動かすんじゃなくて、直接機械語にコンパイルすればもっと効率が良くなるかも。 これは機械言語とVMの話じゃないね。確かに抽象化レイヤーは存在するけど、理由はしっかりしてるよ。例えば、全てのブラウザタブがサウンドハードウェアに対して排他的にアクセスするのは、音量調整なんかも含まれるからマズいんだ。これじゃ複数のアプリやタブから音を混ぜることもできないから、これは必須だよね。もっとコメントを表示(1)
昔は音が出るのが普通だったから、著者は今はマシだと思った方がいい。音源を使ってるPCは特にそうだね。あの頃のことを思い出すと、2000ドルのコンピュータを200ドルのステレオに変えるって話があった気がする。
Dual Band – GSM (1998): https://www.youtube.com/watch?v=ntKOJdht3t8
Mav – HGP (2005): https://www.youtube.com/watch?v=ZacenNeu4fw
Tatarola – Who Is Calling (2007): https://www.youtube.com/watch?v=hTOyaG7VYKw
それってどんなメッセージだったの?もっとコメントを表示(2)
play -qn &
を始めるだけだった。
https://source.chromium.org/chromium/chromium/src/+/main:med…
サイレンスを30秒ぐらい検出すると、OSオーディオデバイスによるシンクから無効なシンクに切り替わるみたい。音声デバイスとは異なるクロックを使用しているから、最後にそのコンテキストが使われると特定の音調で歪むことがあるって報告もある。記事に載ってるサスペンド・リジュームAPIを使うのが回避策だよ。もっとコメントを表示(3)