elishacloud / Silent-Hill-2-Enhancements

A project designed to enhance Silent Hill 2 (SH2) graphics and audio for the PC. It also includes scripts to build or modify SH2 audio files (SFX, BGM and Dialog).
http://www.enhanced.townofsilenthill.com/SH2/
zlib License
569 stars 41 forks source link

Suggestion: D8VK #954

Open cammy8580 opened 5 months ago

cammy8580 commented 5 months ago

A little while ago, AlpyneDreams released the 1.0 build of D8VK, a fork of the well-known DXVK that adds support for translation from DX8 to Vulkan. Because of this, it opened up a plethora of options for the title, including:

AlpyneDreams has confirmed that Silent Hill 2 is a supported title for the wrapper, although I'm not sure if all of the enhancements done by SH2EE work flawlessly.

While I do know that the project currently uses D3D8to9 for translation from DX8 to DX9, looking into D8VK as a potential option for the future of the project could potentially allow for many more possibilities for the project going forward.

elishacloud commented 5 months ago

Our project includes ReShade for shaders and that only works on Direct3D9 or newer. Besides that, our project works all the way back to Windows XP, which may be an issue for D8VK. So there is no plans to move to D8VK.

Why not use DXVK instead of D8VK? Then you can convert our Direct3D9 to Vulkan and get all the advantages of that.

As far as framepacing, Alt+Tab support and all that should work fine on Direct3D9. If there is an issue it is better to fix d3d8to9 rather than moving to something new, which will undoubtedly bring it's own set of issues.

cammy8580 commented 5 months ago

Our project includes ReShade for shaders and that only works on Direct3D9 or newer. Besides that, our project works all the way back to Windows XP, which may be an issue for D8VK. So there is no plans to move to D8VK.

Why not use DXVK instead of D8VK? Then you can convert our Direct3D9 to Vulkan and get all the advantages of that.

Ahh, that's right! I completely forgot the project used ReShade, which we all know isn't compatible with D3D8.

Kind of just a general question, couldn't it be possible to inject reshade post-wrap? ReShade to my knowledge does support Vulkan, but that probably would be unnecessary work because D3D8to9 already does it's job.

As far as framepacing, Alt+Tab support and all that should work fine on Direct3D9. If there is an issue it is better to fix d3d8to9 rather than moving to something new, which will undoubtedly bring it's own set of issues.

True, I guess it would be smart to go about it with a "If it ain't broke, don't fix it" mentality if it does work as-is for the project's current goals.

Although, It wouldn't be a bad idea to keep D8VK/DXVK in mind as something to look at in the future if Linux support eventually gets considered in the scope of the project, especially considering Apitrace could make the process a lot less of a headache when making the switch.

If it does get considered at some point, the benefits alongside it such as the things mentioned before, as well as other things I forgot to mention like the potential for better latency and support for newer technologies like VRR and MPOs would be greatly welcomed.

Also, if it's of any interest, D8VK also allows for the potential to use vendor-specific shadow buffer behavior from Geforce3/4 cards.