web-dev-qa-db-ja.com

HTML5ゲーム(「Forgeof Empires」)に使用した場合、FirefoxがChrome)と比較して非常に遅いのはなぜですか?

私は自分のラップトップで、現在HTML5で利用可能な1つのFlashゲーム( “ Forge of Empires” )を移行することを考えています。 FirefoxがChromeに比べて遅い理由を理解するのに苦労しています。

OS + HW +ブラウザ

オペレーティングシステム

ハードウェア

  • CPU: Intel®Core™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
    
  • [〜#〜] ram [〜#〜]:32 GB DDR4 2400MHzデュアルチャネル(update、最近切り替え)

  • [〜#〜] gpu [〜#〜]NVIDIA GeForce GTX 106Max-Q Design 、6GBのメモリ
  • ディスプレイ:統合ラップトップディスプレイ、15.6インチ、解像度3840x2160
  • ゲームフォージオブエンパイア

Webブラウザ


HTML5ベンチマークツール

別のHTML5ベンチマークがわからないため、 HTML5 AnTuTuベンチマーク 測定を行いました。以下を参照してください。

AnTuT Chrome


AnTuTu in Chrome


AnTuT Firefoxの場合


AnTuTu in Firefox


私は今Windowsでこれらのテストを行っていますが、この質問にそれを入れたくなるような大きな違いは見られません。

1

ハードウェアのボトルネックが見つかりました


ゲームのプレイ中に、私が呼ぶティアリングの速度低下は、FirefoxのCPU使用率が高いことが原因です。


FirefoxのこのHTML5ゲーム

Game in Firefox


ChromeのこのHTML5ゲーム

Game in Chrome


他のゲームでは動作が非常に異なる可能性があるため、ここでは結論を出していません。


解決策/もっともらしい修正

このゲームを助けたのは、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 |
+-----------------------------------------------------------------------------+
1