protonscr

Unreal Engine catch-all workarounds for FFVII Remake/Rebirth?

vkd3dclosed
HansKristian-Work/vkd3d-proton#2311 · opened 2025-01-27 by mbriar · updated 2025-01-28 · 8 comments · github
Mmbriar 2025-01-27 github

The .exe files for FFVII Remake/Rebirth don't end with -Win64-Shipping.exe and thus currently the UE catch-all workarounds don't apply to them.
However, it seems like no_staggered_submit provides some benefit according to https://github.com/ValveSoftware/Proton/issues/8408#issuecomment-2613217148 and my own testing. Comparing frame time graph spinning the camera around in the same spot in Rebirth with and without no_staggered_submit:

Image

I have not tested if there is any change in Remake, only Rebirth.

The .exe names are ff7rebirth_.exe and ff7remake_.exe respectively.
Maybe it could use some more testing.

Software information

FFVII Remake and FFVII Rebirth

System information

  • GPU: 6700XT
  • Driver: mesa-git
  • Wine version: Proton Experimental BE
  • VKD3D-Proton version: Proton Experimental BE
HHansKristian-Work maintainer 2025-01-27 github

no_staggered_submit should do nothing in this game because it should not hit that condition.

Can you prove staggering happens with VKD3D_QUEUE_PROFILE=/tmp/test.json ?

SSheMelody 2025-01-27 github

@mbriar The workaround you have provided doesn't seem to do anything, literally, in FFVII Rebirth. Same fps, same frametimes. Also, things still don't render correctly or don't render at all.

Mmbriar 2025-01-27 github

Now i'm beginning to think it's placebo after all. Anyways, here's the queue profile:

test.zip

Ddoitsujin maintainer 2025-01-27 github

FWIW, without having looked at the profile, we also print a very obvious log message if staggered submit is enabled. (grep staggered or something)

Mmbriar 2025-01-27 github

steam-2909400.zip

grep stagger steam-2909400.log

24728.195:0134:0208:info:vkd3d-proton:d3d12_command_queue_execute: Enabling staggered submissions for command queue 00000000015f7a40, queue family 0.
24729.377:0134:0208:info:vkd3d-proton:d3d12_command_queue_execute: Disabling staggered submissions for command queue 00000000015f7a40, queue family 0.
24729.415:0134:0208:info:vkd3d-proton:d3d12_command_queue_execute: Enabling staggered submissions for command queue 00000000015f7a40, queue family 0.
24751.457:0134:0208:info:vkd3d-proton:d3d12_command_queue_execute: Disabling staggered submissions for command queue 00000000015f7a40, queue family 0.

seems to kick in at least temporarily?

HHansKristian-Work maintainer 2025-01-28 github

That is strange ... I'll investigate why that happens.
EDIT: I cannot reproduce a situation where stagger happens.

HHansKristian-Work maintainer 2025-01-28 github

The capture you made has two graphics queue ... Are you using some kind of FSR3 injector or something? That could explain it.

Mmbriar 2025-01-28 github

Yes, i have indeed been messing around with Optiscaler, although I thought that I disabled and removed it. Turns out I forgot a dll and it affected the results even though there wasn't any frame gen enabled. There is no staggering happening unmodified.

Proton versions

Launch options

Upstream links