fholger / vrperfkit

VR Performance Toolkit
Other
1.31k stars 53 forks source link

Not working with Half Life Alyx #29

Closed NansMM closed 2 years ago

NansMM commented 2 years ago

I'm struggleling to make it work with this game... anyone succeded?

fholger commented 2 years ago

Alyx does not load custom dxgi.dll or d3d11.dll, so I'm afraid there's currently no way to inject vrperfkit into the game.

andrewpros commented 2 years ago

There is a similar popular project and they have a compatibility list here https://vrtoolkit.retrolux.de/gamelist.html

U just need to find the right dll name to use, this is the same for other apps and games, for hl alyx use the name kernel32.dll.

I can confirm it works.

Also maybe little offtop, but testing this i realised it would be nice to have some in game text for like 3 second or so after changing any settings using hotkeys to show to what it was changed, now i cant really know what method and values are used or the order.

Does the methods also cycle with "off" option as it seems it is not, or better, a hotkey to enable/disable the upsampling at any point, and this would be super helpful to do visual and performance comparisons.

fholger commented 2 years ago

Rendering text would require additional libraries and implementation overhead that I don't currently have time for, I'm afraid.

Upsampling can't be disabled on the fly, or at least it's not guaranteed. It depends on whether or not the game reacts dynamically to resolution changes from SteamVR. Some games do, but some don't. If you were to disable upscaling on the fly in the mod, you would get a "native" render at either the target or the downsampled resolution, and this would vary from game to game. As this would be very confusing and intransparent, I'd rather not offer that option. It will only lead to incorrect comparisons.

andrewpros commented 2 years ago

Ok, then maybe just a texture with text or a specific small color dot for different modes, i assumed it would not be that hard as we already have a debug red circle. So in theory we could just copy paste this and have another similar smaller circle with diff color?

Regarding enable/disable upscaling, so does that mean that all those methods are compatible and are using the same base resolution calculated from config renderScale? From what u described they must or else even the cycling could not work good for some games.

HL Alyx is exactly one of those games that do not respond to resolution scaling during in game, not from steamvr build in render resolution, only after restart and also it has a hidden auto scale resolution that can be disabled only by some command line options.

andrewpros commented 2 years ago

But, the other project uses only reshade so post process for quality, but not performance at all, vrperfkit works a lot better with Alyx to lower the requirements, i even did go to 0.1 render scale, but it doesn't seems right, i looks okish, not what i expected, just like there was some hidden minimum.

ArsenicBismuth commented 2 years ago

@fholger I wanted to confirm this mod TOTALLY works with Alyx. Using the same method as VR Toolkit as specified here, you have to rename the dxgi.dll into kernel32.dll.

I have tested and everything works perfectly -- hotkeys, debug, sharpening, & FFR.

Joshiloveyou commented 2 years ago

@ArsenicBismuth I did all of this but I can't get it to work. not even debug works.

fholger commented 2 years ago

@ArsenicBismuth I did all of this but I can't get it to work. not even debug works.

vrperfkit only supports DX11. Make sure that you have not enabled Vulkan in HL Alyx's options if you intend to use vrperfkit with it.

Joshiloveyou commented 2 years ago

@ArsenicBismuth I did all of this but I can't get it to work. not even debug works.

vrperfkit only supports DX11. Make sure that you have not enabled Vulkan in HL Alyx's options if you intend to use vrperfkit with it.

Hello. Sorry for late reply but it is on DX11

Joshiloveyou commented 2 years ago

@ArsenicBismuth Hello. Sorry for late reply but it is on DX11 Any ideas?