mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
阅读:5283回复:8

火狐44.02正式版如何开启多进程

楼主#
更多 发布于:2016-02-13 12:48
用户被禁言,该主题自动屏蔽!

最新喜欢:

EyeRainEyeRai...
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-25
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2016-02-13 14:28
44不支持哦,至少也要45 beta 哦。
Firefox More than meets your experience
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
2楼#
发布于:2016-02-13 22:58
fang5566:44不支持哦,至少也要45 beta 哦。回到原帖
如果是这样的话 release应该也支持 我回去找下源码 应该能推测出来
http://pcxfirefox.wordpress.com/
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
3楼#
发布于:2016-02-13 23:09
44.0.2正式版相关代码段参见
bool
mozilla::BrowserTabsRemoteAutostart()
{
  if (gBrowserTabsRemoteAutostartInitialized) {
    return gBrowserTabsRemoteAutostart;
  }
  gBrowserTabsRemoteAutostartInitialized = true;
  bool optInPref = Preferences::GetBool("browser.tabs.remote.autostart", false);
  bool trialPref = Preferences::GetBool("browser.tabs.remote.autostart.2", false);
  bool prefEnabled = optInPref || trialPref;
  int status;
  if (optInPref) {
    status = kE10sEnabledByUser;
  } else if (trialPref) {
    status = kE10sEnabledByDefault;
  } else {
    status = kE10sDisabledByUser;
  }

#ifdef E10S_TESTING_ONLY
  bool e10sAllowed = true;
#else
  // When running tests with 'layers.offmainthreadcomposition.testing.enabled', e10s must be
  // allowed because these tests must be allowed to run remotely.
  // We are also allowing e10s to be enabled on Beta (which doesn't have E10S_TESTING_ONLY defined.
  bool e10sAllowed = Preferences::GetDefaultCString("app.update.channel").EqualsLiteral("beta") ||
                     Preferences::GetBool("layers.offmainthreadcomposition.testing.enabled", false);
#endif

  // Check for some conditions that might disable e10s.
  bool disabledForA11y = Preferences::GetBool("browser.tabs.remote.disabled-for-a11y", false);
  // Disable for VR
  bool disabledForVR = Preferences::GetBool("dom.vr.enabled", false);

  if (e10sAllowed && prefEnabled) {
    if (disabledForA11y) {
      status = kE10sDisabledForAccessibility;
      LogE10sBlockedReason("An accessibility tool is or was active. See bug 1115956.");
    } else if (disabledForVR) {
      LogE10sBlockedReason("Experimental VR interfaces are enabled");
    } else {
      gBrowserTabsRemoteAutostart = true;
    }
  }

#if defined(XP_MACOSX)
  // If for any reason we suspect acceleration will be disabled, disabled
  // e10s auto start on mac.
  if (gBrowserTabsRemoteAutostart) {
    // Check prefs
    bool accelDisabled = Preferences::GetBool("layers.acceleration.disabled", false) &&
                         !Preferences::GetBool("layers.acceleration.force-enabled", false);

    accelDisabled = accelDisabled || !nsCocoaFeatures::AccelerateByDefault();

    // Check for blocked drivers
    if (!accelDisabled) {
      nsCOMPtr<nsIGfxInfo> gfxInfo = services::GetGfxInfo();
      if (gfxInfo) {
        int32_t status;
        if (NS_SUCCEEDED(gfxInfo->GetFeatureStatus(nsIGfxInfo::FEATURE_OPENGL_LAYERS, &status)) &&
            status != nsIGfxInfo::FEATURE_STATUS_OK) {
          accelDisabled = true;
        }
      }
    }

    // Check env flags
    if (accelDisabled) {
      const char *acceleratedEnv = PR_GetEnv("MOZ_ACCELERATED");
      if (acceleratedEnv && (*acceleratedEnv != '0')) {
        accelDisabled = false;
      }
    }

    if (accelDisabled) {
      gBrowserTabsRemoteAutostart = false;

      status = kE10sDisabledForMacGfx;
      LogE10sBlockedReason("Hardware acceleration is disabled");
    }
  }
#endif // defined(XP_MACOSX)

  mozilla::Telemetry::Accumulate(mozilla::Telemetry::E10S_AUTOSTART, gBrowserTabsRemoteAutostart);
  mozilla::Telemetry::Accumulate(mozilla::Telemetry::E10S_AUTOSTART_STATUS, status);
  if (Preferences::GetBool("browser.enabledE10SFromPrompt", false)) {
    mozilla::Telemetry::Accumulate(mozilla::Telemetry::E10S_STILL_ACCEPTED_FROM_PROMPT,
                                    gBrowserTabsRemoteAutostart);
  }
  if (prefEnabled) {
    mozilla::Telemetry::Accumulate(mozilla::Telemetry::E10S_BLOCKED_FROM_RUNNING,
                                    !gBrowserTabsRemoteAutostart);
  }
  return gBrowserTabsRemoteAutostart;
}
http://pcxfirefox.wordpress.com/
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
4楼#
发布于:2016-02-13 23:28
 那么由此可知(以Windows为例,其他系统有变化)

想要在正式版本中开启e10s,那么需要下列4个条件,缺一不可(开启后造成的问题自己承担)

1)browser.tabs.remote.disabled-for-a11y  为false
2)dom.vr.enabled 为false
3)app.update.channel为beta 或者 layers.offmainthreadcomposition.testing.enabled 为true
4)browser.tabs.remote.autostart为true 或者 browser.tabs.remote.autostart.2 为true
http://pcxfirefox.wordpress.com/
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-25
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
5楼#
发布于:2016-02-14 11:05
pcxfirefox:那么由此可知(以Windows为例,其他系统有变化)

想要在正式版本中开启e10s,那么需要下列4个条件,缺一不可(开启后造成的问题自己承担)

1)browser.tabs.remote.disabled-for-a11y  为...
回到原帖
这么详细啊,赞。我之前帖子是只提到部分 beta 用户才可参与测试,https://www.firefox.net.cn/read-52171
Firefox More than meets your experience
mmd
mmd
禁止发言
禁止发言
  • UID52039
  • 注册日期2015-12-16
  • 最后登录2016-12-02
  • 发帖数539
  • 经验549枚
  • 威望0点
  • 贡献值758点
  • 好评度26点
6楼#
发布于:2016-02-14 12:51
用户被禁言,该主题自动屏蔽!
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
7楼#
发布于:2016-02-14 17:22
没有的多呢 能看见的只是很少一部分
http://pcxfirefox.wordpress.com/
asdf123456
千年狐狸
千年狐狸
  • UID32588
  • 注册日期2010-04-16
  • 最后登录2020-02-17
  • 发帖数1088
  • 经验299枚
  • 威望0点
  • 贡献值50点
  • 好评度10点
  • 社区居民
  • 忠实会员
8楼#
发布于:2016-02-14 18:35
browser.tabs.remote.autostart    true
layers.async-pan-zoom.enabled    true(这个只是提升缩放性能)
layers.offmainthreadcomposition.testing.enabled     true
游客

返回顶部