1/15 のパッチでこの構成の PC はクラッシュが発生しなくなりました。
一応デバイスとか書いておきます。
まず,利用デバイスについて。
- 【CPU】AMD Ryzen 9 5900X https://www.amd.com/ja/products/cpu/amd-ryzen-9-5900x
- 【GPU】RTX 3080 (ROG-STRIX-RTX3080-O10G-GAMING) https://rog.asus.com/jp/Graphics-Cards/Graphics-Cards/ROG-Strix/ROG-STRIX-RTX3080-O10G-GAMING-Model/
- 【RAM】G.SKILL F4-4000C17D-16GVKB (4x8 GB, CL16-16-16-36) https://www.gskill.com/product/165/184/1590134598/F4-4000C17D-16GVKB
- 【SSD】Samsung 980 PRO 1TB https://www.samsung.com/semiconductor/minisite/jp/ssd/consumer/980pro/
OS は Windows 10 20H2 です。
AMD Ryzen では設定画面にクロックを変動させるレスポンスの速さを調整する設定があって,一番右にしていると,CPU の仕事が増えるタイミングで,周波数を上げる動作をします。この変動を緩和することでクラッシュが大幅に減りました(全く発生しないわけではありません,もう一つ左にするとさらに緩和されるかもしれません)。
もしかすると,クロックを固定すれば完全にクラッシュを止められるかもしれません。ちなみに,GPU を ROG STRIX の規定値より高く OC している場合,Desktop Window Manager も巻き込んで OS にも影響を及ぼすこともありました。
この設定をいじった理由は,直感で
- PC の Fan が唸り出したとき
- → CPU の温度が上昇したとき
- → 周波数が急激に上がったとき
- → 変動を緩やかにすればいいのでは?
といった感じです。ただ対処療法をしてクラッシュが減っただけであって,なくなったわけではありません。
ここからはただの推測。
Windows 10 20H1 からタイマーの解像度が変更されており,これに対応するためにコード変更をしたため,発生したのかもしれません。周波数変動が仮に原因でクラッシュが発生しているのであれば,タイマー周りで整合性が取れなくなり,処理が止まる,とか…… 憶測でしかありませんが……
ただ,仮説が正しければ PC はクロック固定で治ると思いますけど,PS4 などは対処のしようがないですね,これ……
Windows Timer Resolution: The Great Rule Changerandomascii.wordpress.com
追記: 1/13
5900X で -numworkerthreads 10
を指定したらとりあえず目立って落ちなくなりました。一応,他 CPU の型番(Intel Core 第8世代 Coffee Lake〜第10世代 Comet Lake,AMD Ryzen 第3世代,第4世代)と設定すればいいコマンドラインを掲載しておきます。動作テストはしていないので,正しく動くかどうかは各々で確認してください。
Manufacturer | Model name | Core - Thread | Command |
---|---|---|---|
Intel | i9-10900 i9-10900K i9-10900KF i9-10850K |
10 Core 20 Thread | -numworkerthreads 8 |
Intel | i9-9900 i9-9900K i9-9900KS i7-10700 i7-10700K i7-10700KF |
8 Core 16 Thread | -numworkerthreads 6 |
Intel | i7-9700 i7-9700K |
8 Core 8 Thread | -numworkerthreads 6 |
Intel | i7-8700 i7-8700K i7-8086K i5-10600 i5-10600K i5-10600KF i5-10500 i5-10400 |
6 Core 12 Thread | -numworkerthreads 4 |
Intel | i5-8400 i5-8500 i5-8600K i5-9400 i5-9500 i5-9600 i5-9600K |
6 Core 6 Thread | -numworkerthreads 4 |
AMD | 5950X | 8+8 Core 32 Thread | -numworkerthreads 12 |
AMD | 5900 5900X |
6+6 Core 24 Thread | -numworkerthreads 10 |
AMD | 5800 5800X |
8 Core 16 Thread | -numworkerthreads 6 |
AMD | 5600 5600X |
6 Core 12 Thread | -numworkerthreads 4 |
AMD | 3950X | 4/4+4/4 Core 32 Thread | -numworkerthreads 12 |
AMD | 3900 3900X 3900XT |
3/3+3/3 Core 24 Thread | -numworkerthreads 10 |
AMD | 3700X 3800X 3800XT |
4/4 Core 16 Thread | -numworkerthreads 6 |
AMD | 3600 3600X 3600XT |
3/3 Core 12 Thread | -numworkerthreads 4 |