protonscr

[d3d9] - Rising Lords - Extremely low performance when zoomed out.

dxvkclosed appid 835650performanced3d9
doitsujin/dxvk#1979 · opened 2021-03-16 by ZereoX · updated 2022-04-02 · 7 comments · github · game page · search this game
ZZereoX 2021-03-16 github

Description:

In Rising Lords (835650) the performance drops considerably when fully zoomed out on the play area.

This issue occurs on both Proton 5.13-6 and Windows using DXVK 1.8.1 or master (f48e3f5). Confirmed to occur on both Nvidia and AMD hardware.

DXVK drops to 15 FPS and frequently drops to single digit performance when fully zoomed out. WineD3D manages to maintain about ~40 FPS in the same scenario.

On native Windows, a dip is observed (a drop of about 15 FPS) while zooming out, but the performance immediately returns to 60 FPS a few seconds after reaching a fully zoomed out state.

DXVK WineD3D
Rising Lords -  835650 - DXVK Rising Lords -  835650 - WineD3D

Video:
https://user-images.githubusercontent.com/761853/111356729-06db9100-865f-11eb-8822-cd04813a1732.mp4

Please let me know if any additional information is required or if additional testing is needed.

Notes

  • When fully zoomed in, performance takes a long time to recover and stops around 58 FPS, never reaching the framerate cap.

Software information

Rising Lords (835650)

System information

OS: Ubuntu 20.04 / Windows 10 Pro 1909
GPU: Radeon RX 580 / Nvidia GeForce GTX 1060
Driver: 21.1~git2103160600.616720~oibaf~f / 460.56-0ubuntu0.20.04.1
Wine version: Proton 5.13-6
DXVK version: 1.8.1 / Master (f48e3f5)

Apitrace file

Log files

d3d9.log: RisingLords_d3d9.log

warn:  ConvertFormat: Unknown format encountered: D3D9Format::AL16
warn:  ConvertFormat: Unknown format encountered: D3D9Format::R16
KK0bin maintainer 2021-03-17 github

Can you make a longer apitrace? The one you uploaded just shows the perf drop when zooming out but doesn't really have enough time to recover.

Replaying that is basically just as fast with Windows D3D9 as it is with DXVK. The problem is that the game just copies A LOT of data around.

ZZereoX 2021-03-17 github

Hi @K0bin,

Performance drops to practically zero while tracing and does not recover. I've confirmed that the same performance is also observed while replaying the trace on native regardless of how long it is.

Here is the longer trace: https://drive.google.com/file/d/1JQpsxPqj8xoeAcJ3xHR0mJ6CafWE3nl9/view?usp=sharing

Video of native performance while not tracing:

https://user-images.githubusercontent.com/761853/111477554-9b003380-8705-11eb-8a6f-5bb21ab5f86d.mp4

KK0bin maintainer 2021-03-17 github

Apitrace is the bottleneck when replaying your trace. It goes down to single digits FPS when zooming out on DXVK, Windows D3D9 and WineD3D9.

I guess I can't really do anything here without having the game itself.

KK0bin maintainer 2021-04-25 github

Can you retest on the latest master? We recently landed some performance work.

ZZereoX 2021-04-25 github

Hi @K0bin,

I re-checked against 525fd53, and the performance degredation is still present when zoomed out.

BBlisto91 2022-04-02 github

Okay so 2 updates to this issue.
First is that the game has updated it's engine back in june and it now uses dx11 instead of dx9. On this new version i cannot reproduce this issue anymore. (R9 380 mesa-git)

Second. If i select the old_engine beta branch which switches back to the dx9 version (it's not updated anymore) i can reproduce this issue. With 1.8.1 i have a save game where the fps drops to 12-13 when i zoom all the way out and move the camera a bit.
This does seem to have improved a bit in 1.9.0 & 1.9.1 where with the latter (and 1.10.1) it instead "only" drops to 20 when moving the camera and stays at around 25 when the camera is still.

KK0bin maintainer 2022-04-02 github

First is that the game has updated it's engine back in june and it now uses dx11 instead of dx9.

Thank god. I did look into this back in the day and their rendering was incredibly stupid and inefficient. I'll just close this then.

Proton versions