我正在笔记本电脑上考虑转换我玩的一个 Flash 游戏(“帝国熔炉”) 目前在 HTML5 中可用。我很难理解为什么 Firefox 比 Chrome 慢这么多。
操作系统 + 硬件 + 浏览器
操作系统:
此版本基于 Ubuntu 18.04
硬件:
中央处理器:英特尔® 酷睿™ i7-7700HQ, 第 7 代, 2.80 - 3.80 GHz,
grep flags /proc/cpuinfo
:fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
内存:32 GB DDR4 2400MHz 双通道(更新,最近换了)
- 图形处理器:NVIDIA GeForce GTX 1060,Max-Q 设计、6GB内存
- 展示:集成笔记本电脑显示屏,15.6 英寸,分辨率 3840x2160
- 游戏:帝国熔炉
Web 浏览器:
- Google Chrome 稳定版版本:72.0.3626.119(官方版本)(64 位)
- 火狐浏览器版本:65.0.1(64 位)
HTML5 基准测试工具
我已经采取了HTML5 AnTuTu 基准测试由于我不确定另一个 HTML5 基准,因此我无法进行测量,请参见下文:
安兔兔在 Chrome 中:
安兔兔在 Firefox 中:
我现在已经在 Windows 上完成了这些测试,并且我发现将它放入这个问题中并没有什么太大的区别。
答案1
发现硬件瓶颈
在玩游戏时,我称之为撕裂是由于 Firefox 的 CPU 使用率过高造成的。
Firefox 中的这款 HTML5 游戏
Chrome 中的这款 HTML5 游戏
它在其他游戏中的表现很可能会有所不同,所以我在这里不得出任何结论。
解决方案/合理解决方案
帮助这场比赛的是启用以下内容about:config
:
layers.acceleration.force-enabled
此外,我注意到今天更新到 71.0 版本后性能有所提升 ( 71.0+linuxmint2+tricia
,官方发布说明),不过这也许只是我的感觉。
现在的游戏感觉明显更快, 自己试试吧!
看起来,现在大部分图形繁重的工作负载都已经转移到我的 GPU 上了。top
片段:
top - 07:59:30 up 3:23, 1 user, load average: 1,44, 0,86, 0,77
Tasks: 256 total, 2 running, 193 sleeping, 0 stopped, 0 zombie
%Cpu(s): 11,0 us, 5,4 sy, 0,0 ni, 83,5 id, 0,0 wa, 0,0 hi, 0,2 si, 0,0 st
KiB Mem : 32669556 total, 25297888 free, 4186864 used, 3184804 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 27273988 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5466 vlastim+ 20 0 3359676 554668 150028 S 11,0 1,7 33:18.16 Web Content
5387 vlastim+ 20 0 1131428 497656 299124 S 21,3 1,5 32:23.13 GPU Process
5352 vlastim+ 20 0 3835144 553044 238576 S 12,0 1,7 24:04.95 firefox
并由此证实nvidia-smi
片段:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 106... Off | 00000000:01:00.0 On | N/A |
| N/A 50C P0 40W / N/A | 1346MiB / 6078MiB | 48% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1413 G /usr/lib/xorg/Xorg 503MiB |
| 0 2799 G cinnamon 139MiB |
| 0 5352 G /usr/lib/firefox/firefox 2MiB |
| 0 5387 G /usr/lib/firefox/firefox 443MiB |
| 0 12394 G /usr/lib/firefox/firefox 254MiB |
+-----------------------------------------------------------------------------+
答案2
之所以会发生这种情况,是因为 Firefox 和 Chrome 使用两种不同的方式管理主内存 (RAM)。您经常会看到 Chrome 占用我们设备大量的内存和电池。这是因为 Chrome 将您打开的每个选项卡视为一个新的 Web 浏览器实例,并分配一个单独的内存块,而 Firefox 使用传统的内存管理方法。它为应用程序分配一大块内存。当您打开更多选项卡时,这部分分配中的一小部分会分配给每个新选项卡,因此当您打开更多选项卡时,Firefox 的速度就会变慢。
希望这对你有帮助。谢谢。