doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
12.44k stars 800 forks source link

Civilization 4: Out of 32bit Address Space #3115

Open jo-oe opened 1 year ago

jo-oe commented 1 year ago

[Cross-post as requested in #1318] Civilization 4: Colonization (dxvk-2.0 / Proton-GE 7-42), including mod "We The People" [NVIDIA GeForce 940M / Optimus configuration / ENV set up to use the NVIDIA device; 12GB total RAM] PROTON_USE_WINED3D=0: Total address space use peaks at 3.97 GiB before game crashes on loading a save. PROTON_USE_WINED3D=1: Total address space use after loading save stays around 2.9 GiB. Performance is much worse though (around 15 fps)

I tried all the suggestions in #1318, especially the dxvk.conf ones. Memory use did not change using any of them.

apitrace: https://ufile.io/dxyrjfnm dxvk log: https://ufile.io/dxyrjfnm Note that this time the game threw an exception when reaching 3.97GiB adress space use and froze instead of crashing.

K0bin commented 1 year ago

Internal note:

The game uses 250MB worth of managed buffers and DXVK ends up allocating 650MB worth of fixed function constant buffers.

EDIT: There's two frames that do a ridiculous amount of draw calls. One does 300k and the other one does 800k!!!!!!

image