NVIDIAGameWorks / rtx-remix

Combined repo for the RTX-Remix runtime
https://www.nvidia.com/en-us/geforce/rtx-remix/
MIT License
1.39k stars 69 forks source link

Fallout New Vegas has abnormally poor performance #423

Open Kim2091 opened 9 months ago

Kim2091 commented 9 months ago

Describe the bug

Attach files!

To set up FNV

  1. Download these:
  2. Extract the contents of nvse_6_3_5b.7z to your game folder
  3. Extract the contents of NewVegasRTXHelper.zip to your Data folder
  4. Extract FalloutNV ini.zip to your Documents\My Games\FalloutNV folder
  5. Install Mod Organizer, set it up for Fallout New Vegas, then install the mesh patch (this isn't strictly necessary)
  6. Install RTX Remix, then launch the game from nvse_loader

To Reproduce Steps to reproduce the behavior:

  1. Load the game
  2. Observe poor performance
  3. If performance is okay, restart the game a few times.

Expected behavior

Other issues

Screenshots https://cdn.discordapp.com/attachments/1106553248590090351/1209954240294953083/Fallout_-_New_Vegas_2024.02.21_-_15.04.24.01_edit.mp4?ex=65e8ccb2&is=65d657b2&hm=ecb0b4d264537d41c6116f7669767a8710518372933c3f50f0c552528db3613e&

Kim2091 commented 8 months ago

This may be down to the patches made to the game to disable culling. A recent patch for Barnyard was made to disable culling as well, and performance noticeably dipped. See the following posts for benchmarks: https://discord.com/channels/1028444667789967381/1106420949257044061/1213016247768195152

FNV and Barnyard have a lot of similarities in terms of Remix bugs due to both utilizing shaders to render terrain. It's possible this is another overlap

NV-LL commented 6 months ago

Hello! Will you please test this on the latest release and let us know if the issue persists? Thank you!

Kim2091 commented 6 months ago

I'll test it tonight. Thank you

Kim2091 commented 6 months ago

@NV-LL There was a very tiny improvement in performance, but sadly it's still unplayable. I'm not sure if it'll be of help, but here's the Reflex latency information: image

NV-LL commented 4 months ago

Thanks for the update! We've filed REMIX-3373 for tracking

STHAKKARNV commented 3 months ago

Hi @Kim2091

I tried with Remix 0.5.4 and vanilla Fallout New Vegas Steam build. I can't reproduce the performance issues even after multiple restarts. I am using a similar Intel 12th gen processor, RTX 4090 and driver version 560.81

Out of curiosity, does this happen for you on a fresh install of New Vegas without any other mods/patches present and driver version 560.81?

Kim2091 commented 2 months ago

@STHAKKARNV Apologies for the late response. For this performance issue to occur, you need to be using the anti-culling patch linked in the original post. If you are not using this patch, the performance will be normal.

I speculate the issue is that Remix is being overwhelmed by the significant amount of geometry it needs to process in this scenario.

I have not tested it on 560.81 yet, but I will do so when I have time.

NV-LL commented 2 months ago

Hi @Kim2091! I saw that you confirmed #559 was fixed as of yesterday and wanted to see if that also addresses this issue. If not, we'll keep this on the table, but I figured it was worth checking to try to keep our backlog tidy. 😄 Thank you!

Kim2091 commented 2 months ago

Hi, yes I just tested yesterday, but sadly this isn't fixed yet. In the Reflex statistics, it's attributing the majority of the load to Driver Queue.

Thanks for the follow up :)

NV-LL commented 2 months ago

Hey @Kim2091! Can you confirm if perf scales with resolution - i.e., higher at 1080p than 4k? That can help us determine if this is possibly CPU or GPU bounding. Thanks!

Kim2091 commented 2 months ago

I will check that out tomorrow 🙂

Kim2091 commented 2 months ago

@NV-LL There are very small gains: 2560x1440: 18 FPS 1920x1080: 18.6 FPS 1280x720: 19.3 FPS

nsubtil commented 2 months ago

Those numbers don't look like they're scaling with resolution, which likely means we're CPU bound. Disabling engine-side culling tends to do that, since it typically means the engine has to issue a huge number of draw calls.

Ray-tracing on the GPU scales logarithmically, so GPU time isn't usually a problem, but CPU time scales linearly with draw calls (and Remix has to do a lot more CPU work for draw calls compared to vanilla D3D9).

Without analyzing further it's hard to say for sure, but generally this isn't a problem we can easily deal with on our side. I'd suggest finding another way to make the game work without completely disabling engine-side culling. If there are options to make it less aggressive, that could be a better path forward, together with Remix-side anti-culling perhaps.

Kim2091 commented 2 months ago

I appreciate the elaboration. Yes this does appear to be CPU bound. GPU usage is very low.

I did propose to other community members interested in FNV that we implement a custom culling solution, but sadly we're lacking the proper developer for that to happen.

As for Remix's anti-culling, it doesn't function properly in this game. I think it's dependent on this issue being resolved first: https://github.com/NVIDIAGameWorks/rtx-remix/issues/222