マルチプロセスFirefox 44.b、電解最適化

そのため、Firefoxはシングルプロセスモデルを使用します。実際、ネットワークのダイナミクスとXULとの部分的な接続を考慮に入れたこのようなアプローチは、やや不便です。 1つのプロセスが複数のスレッドを処理する必要があり、これはブラウザー全体のパフォーマンスに大きく影響します。 Firefoxの応答性は、同じGoogle Chromeが重いページを完全にレンダリングしたときに、他のタブのパフォーマンスにまったく影響を与えなかったため、望まれていました。



この状況により、多くの人がクロムに​​切り替えることを余儀なくされ、誰も望んでいませんでした-さまざまな種類の最適化の形でソリューションを探していましたが、それは概して、フローの分布に対する非論理的なアプローチまたはブログに何かを投稿するという平凡な欲求のために、状況を悪化させていました。 これで、1つのプロセスが機能するだけでなく、非常に高速に機能するようになります 最終的に、開発者自身は、1つはメモリ不足で、もう1つは低速であることを十分に認識しており、これは主にXULの古いバンドルによって正当化されています。 実際、Firefoxで複数のタブを一度に開いてスクロールすると、読み込み時にすべてが遅くなっていることがわかります。スムーズなサーフィンの話はありませんでした。



Mozillaは、Gekkoエンジンを複数のプロセスに適応させるためにElectrolysisプロジェクトを開始しました。 Mozillaがブラウザを構築するために同様のモデルに切り替える理由 まず第一に、それはパフォーマンスと応答性です。 主な目標は、特に大きなページの読み込み、Webフォームへの入力、またはページ要素でのオーバーロードのスクロールなど、標準的な操作で現れるジャンクを減らすことです。



マルチプロセッサモデルの新機能を使用することをお勧めします(残念ながら、開発中のため、デフォルトでは無効になっています)。 すべての機能は作成者自身によってチェックされ、それらの値は最速で最も安定した動作のために選択されます。 主な重点は、攻撃的なサーフィンの条件でのFirefoxのパフォーマンスと応答性です。 シングルプロセッサモードと比較したメモリ消費量は、ハードウェアアクセラレーションの強制使用を考慮に入れて、約12%〜17%増加し、それなしでは10%以下になります。



プロジェクトはまだ開発中であり、完全に安定しているわけではないため、新しいプロファイルで編集してから結果を比較します。 プロジェクトの湿気のため、結果を参照することは不適切であると考えています。 結果は単に劇的に異なる場合があります。



最適化

44betaより上のすべてのバージョンに適用可能



注意:ベータアップデートチャネルの44より上のすべてのバージョンに適用されます。 事実、新しい関数のコードの一部は、安定性を維持するために、ベータ版または開発者以外の更新チャネルを備えたFirefoxには含まれないだけです。

更新チャネルを変更するには、channel-prefs.jsファイルの「realise」の行を「beta」に置き換える必要があります。 ファイルは次のフォルダーにあります:Firefox / defaults / pref



一部のアドオンと互換性がありません。



編集:構成:



 browser.tabs.remote.autostart
 browser.tabs.remote.autostart.1
 browser.tabs.remote.autostart.2-true
 layers.async-pan-zoom.enabled-true
 dom.ipc.plugins.asyncInit-true(プラグインの非同期)
 javascript.options.asyncstack; true 
 layers.acceleration.force-enabled = true(ビデオの問題に対して無効化)
 network.http.max-connections = 512
 network.http.pipelining = true
 network.http.pipelining.aggressive = true
 network.http.pipelining.max-optimistic-requests = 32
 network.http.pipelining.maxrequests = 96
 network.http.pipelining.maxsize = 600000
 network.http.pipelining.ssl = true
 network.http.proxy.pipelining = true
 browser.cache.use_new_backend-1(新しいキャッシュシステム)
 memory.free_dirty_pages-true
 browser.tabs.animate = false
 image.cache.timeweight = 100
 browser.display.show_image_placeholders-false
 nglayout.initialpaint.delay; 0(整数を作成) 
 browser.display.auto_quality_min_font_size-(-1)  


クリック中にリンクの周囲のフレームを削除します。



 browser.display.focus_ring_on_anything(ブール値)= false
 browser.display.focus_ring_width(整数)= 0


保護



 network.dns.disableIPv6-false  
 network.dns.disablePrefetch-true
 network.predictor.enabled-false
 network.predictor.cleaned-up-true
 network.prefetch-next-false
 browser.send_pings-false
 network.http.speculative-parallel-limit-0(ゼロ)
 privacy.trackingprotection.enabled; true(バグ保護)
 browser.safebrowsing.enabled; false
 browser.safebrowsing.malware.enabled; false
 datareporting.healthreport.service.enabled; false        
 browser.safebrowsing.downloads.remote.enabled; false
 extensions.blocklist.enabled-false
 extensions.getAddons.cache.enabled-false
 browser.chrome.toolbar_tips-false
 media.video_stats.enabled-false
 dom.battery.enabled-false
 media.peerconnection.enabled = false


装置



 dom.gamepad.enabled; false
 dom.vr.oculus.enabled; false
 dom.vibrator.enabled


Helloを無効にする



 loop.enabled; false


Firefoxの広告とスニペット



 browser.newtabpage.directory.ping-空白行を残します
 browser.newtabpage.directory.source-空白行を残します
 browser.aboutHomeSnippets.updateUrl-空白行を残す


これで、作業の質が大幅に向上します。 がんばって。



All Articles