xemu-project / xemu

Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
https://xemu.app
Other
2.71k stars 268 forks source link

XEMU resolution scaling prevents Metal Arms from booting #1029

Open zstorm4 opened 2 years ago

zstorm4 commented 2 years ago

Title

https://xemu.app/titles/5655000a/

Bug Description

Metal arms will not initialize FMVs/main menu unless scaling is turned off or below 4x at game start.

To reproduce issue: Start game with scaling enabled Wait for game to start Continue waiting Disable scaling, game starts immediately.

Additionally, scaling causes FMVs to play at a slower rate proportionally to scaling. 2x and 3x produces same results as 1x, but anything above causes stuttering that gets worse at higher scales.

Here is a video of the issue. For posterity's sake I didn't wait, but the loading screen has appeared for upward of 10 minutes. https://youtu.be/2e-dTMTN_aU

Expected Behavior

Boot game, game loads into FMVs

xemu Version

Version: 0.7.28 Branch: master Commit: 176b574403e0f4a08bfb1f8ab58e0f819a45cf81

System Information

CPU: AMD Ryzen 7 3700X 8-Core Processor
OS Version: Windows 10 Manufacturer: NVIDIA Corporation GPU Model: NVIDIA GeForce RTX 3070/PCIe/SSE2 Driver: 4.0.0 NVIDIA 511.79 Shader: 4.00 NVIDIA via Cg compiler

Additional Context

No response

RinMaru commented 2 years ago

it boots just fine for me same build, FMVs do stutter though

RX6700XT 5600X Windows 11

zstorm4 commented 2 years ago

it boots just fine for me same build, FMVs do stutter though

RX6700XT 5600X Windows 11

Maybe a difference b/w Nvidia/AMD? I can recreate pretty reliably

RinMaru commented 2 years ago

it boots just fine for me same build, FMVs do stutter though RX6700XT 5600X Windows 11

Maybe a difference b/w Nvidia/AMD? I can recreate pretty reliably

possibly cause aside from video lag i get ingame just fine

zstorm4 commented 2 years ago

Attached a video of the issue to the original description

abaire commented 2 years ago

I'd suggest looking at the depth buffer format used by this game to see if this is a dup of #278. There is something pathological with the AMD driver and 24s8 depth textures that causes massive amounts of time to be spent doing CPU-based conversion. I'd expect any increase in resolution to increase the amount of time spent.

You can also run a profiler to see if an unusual amount of time is spent in the driver in some other conversion function, comparing profiles at different resolutions to see if something jumps out when the scale is increased.