木の結果を参考に、もう少し細かく分析してみました。
タスクマネージャにてwotblitz.exeの使用スレッド(コア)を1~6コアに制限し、リソースモニターにてトレーニングルームにおけるマップのロード~戦闘開始におけるCPU使用率を監視。使用するコアは他のソフトウェアと干渉の少ない後半部分を用いました。添付の画像ではグラフ中央部分をマップ読み込み開始(「戦闘開始」ボタンを押したタイミング)に合わせています。
なお実験環境はCPU:Ryzen9-3900XT(12C24T)、RAM:DDR4-3200 32GB、SSD:Pcie3.0、GPU:RTX2070、Steam版Blitz、画質設定:すべて最高(影など含む)です。
実験結果
1コアの結果はさておき、各コアの実験結果から確かにマップを読み込む際に特定のコアに負担がかかっている様子が確認できるほか、他のコアも最も負荷の高いコアに対して概ね50%程度は処理を行っているようです。また4コア以上の場合であっても、利用可能なコア数に応じて処理を分散している様子が確認できました(コア数上限は確認していません)。
さて、マップの読み込み時間についてですが、同じ条件で通常戦のマップ読み込み時間を比較しました。
・1コア:カウントダウン3秒前でロード
・2コア~6コア:カウントダウン7秒前(戦闘準備中)でロード
以上の通り、2コア~6コアの場合はいずれもほぼ同じ時間で読み込むことができました。一方でコア数が少ない(2コア以下)場合、戦闘中のFPSが極端に低下する現象が起こったため、コア数はマップの読み込みよりも戦闘中の処理に大きな影響を及ぼすようです(当たり前ですが...)。
ここまでの結果を踏まえると、十分なシングルコア、マルチコア性能があればマップの読み込み時間は時間を要さないように思えます。しかし、私も経験がありますが、十分な環境であってもマップの読み込みに時間がかかることがあるようなので、シングルコア性能以外にも要因がありそうです。
12コアって、すんごいCPU積んでますね
Ryzenだから当たり前っちゃ当たり前なような
一人での検証は大変だったので助かります。余程特殊な事情がない限り2C2Tを下回るCPUはないだろからマルチスレッド性能に関してはあまり重点を置いておりませんでした。ロードが遅れる原因としては個人的にはキャッシュも関わっているのではないかと考えています。ただ回線やサーバーなどの外部的要素もあるのでハッキリとした結論は出そうにないです…
なるほど!以前古いCPUとGT1030の組み合わせで相談していた者です。CPUとグラボの稼働率は50%に満たないのに、なぜ戦闘に遅れたりするんだろうと質問した記憶があるんですが、まさに木主さんの検証がそれを説明しているんですね。シングルスレッドを使い切ってるなら、自分の見ているタスクマネージャーでは(そこまで見れないので)総合稼働率は低いはずです。確かCPUはA10-6750かその辺だったと思います。当時はSATA SSDを使っていました。 -
上は2021年春頃の状況で、夏にグラボ以外を一新しました。当時はM2 SSDに変わったから改善したのか、よく分からない状況でそのままにしていました。皆さんの検証からいくとCPUのシングルスレッド性能が足りていなかったために戦闘読み込みが遅れていたということになります。i3-10105Fになってからは10秒前にはスタンバイできるようになりました。
一つだけ引っかかるのが、HDDとA10-6750の組み合わせでは戦闘への遅刻が滅多になかったということです。結局スローなHDD速度とスローなCPUが相性がよく、ぴったり息を合わせてたってことかな(汗)
そういえばグラボをGTX1650に変えてから、GPU使用率は45%程度です。GT1030の頃と同じ使用率なのは、要求性能が急に上がってきたのか、それともCPUボトルネックが無くなって、よりGPU性能を使い切れるようになったのか。そのどっちもかな。
グラフィックの設定が低かったから問題なく動いたのでは?
いえ、当時も間違いなく最高設定にしてました。
失礼しました、GTX1650の使用率をあらためて確認すると33%程度でした。少しだけ下がりました。
マップロード中のGPU使用率はとても低いので遅刻との直接的な関係性は考えにくいですね。それ以外だとストレージかネット環境が多そうです。