そのため、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-空白行を残す
これで、作業の質が大幅に向上します。 がんばって。