Skip to content

C&C Generals Zero Hour determinism issue between dx8.1&dxvk clients #5007

Open
@doomx85

Description

@doomx85

Eyo guys. There are issues between clients using native dx8.1 & dxvk when playing online. There have been reports that people playing with dxvk cause more mismatches. Personally I've noticed that when we all use dxvk its mostly fine but when someone with a different GPU arch, CPU or dx8.1 joins, the games mismatch before 10-15minutes. If there are any suggestions i'm willing to test things if you guys have and insights on how to go about it.

The online C&C GEN/ZH community heavily relies on dxvk since most players use laptops and the game chooses the iGPU first regardless of driver/windows settings which usually have many issues unrelated to dxvk (eg. Intel iGPUs).

The "GenPatcher" dev doesn't advise people use dxvk unless they don't have an option to disable the iGPU in BIOS which is undesirable for laptops but OK for PCs.

I've added a custom config that I use across different games while knowing some probably don't apply to GEN&ZH.

If you guys have any insights on how to create a config file that would make the online games between dx8.1 & dxvk clients 'deterministic at all costs' regardless of performance penalties, it would be greatly appreciated by the generals online community.

If any more info is needed I'm willing to provide it.

PS: Even if you recommend everyone migrate to dxvk :D

Software information

C&C Generals & Zero Hour, DX8.1, x86, GenTool + GenPatcher, max details except heat effects which don't work with MSAA & SSAA

System information

  • GPU: RX 6800
  • Driver: 25.6.1
  • DXVK version: 2.6.2

Log files

info: dxvk.hideIntegratedGraphics = True
info: d3d9.seamlessCubes = True
info: d3d9.maxFrameLatency = 1
info: d3d9.sincosEmulation = True
info: d3d9.samplerAnisotropy = 16
info: dxvk.enableGraphicsPipelineLibrary = False
info: d3d9.strictPow = True
info: d3d9.floatEmulation = Strict
info: d3d9.deviceLocalConstantBuffers = True
info: dxvk.trackPipelineLifetime = False
info: dxvk.enableMemoryDefrag = False
info: d3d9.lenientClear = False
info: d3d8.forceLegacyDiscard = True
info: d3d9.invariantPosition = True
info: d3d9.strictConstantCopies = True
info: d3d9.cachedDynamicBuffers = True
info: d3d9.forceSwapchainMSAA = 8

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions