Internal resolution scaling for DX11 games

There are a number of RPG/VN releases from last year (and perhaps more for this year, as well) which internal resolution is locked to 1080p or sub-1080p.

  • Death End re:Quest
  • Dragon Star Varnir
  • Utawarerumono: Prelude to the Fallen
  • Utawarerumono: Mask of Deception
  • Utawarerumono: Mask of Truth
  • KATANA KAMI: A Way of the Samurai Story

While hex editing the executable to patch in higher rendering resolution works in cases of Idea Factory or Utawarerumono games, UI element will be left as-is in its original resolution, rendering it unusable for a playthrough.

Is developing a solution through SK to allow for internal resolution scaling something you would consider? For older DX9 games dgVoodoo would work rather well, but finding a solution for DX11 games is spotty at best.

For SpecialK there are as far as I know actually a few games have internal profile specific fixes trying to override the display resolution but I am curious if a solution could be made though a generic scaling or forcing of a higher internal render resolution might hit various engine or per-game specific issues that would still rely on a number of additional compatibility options to improve.

Probably other internal issues too scaling the back buffer but then there’s shadows or other effects or shaders that might be fixed or run at a much lower resolution as well.

UI elements and overall scaling and such other unexpected issues that could happen.
Centering and windowed mode is one way but you then have a large part that is the OS desktop and it’s not really ideal though the way the game looks when upscaled is usually far worse on a higher resolution display.

Atelier game fan and the older games vary in all sorts of ways from lower resolution effects to stopping at 1920x1080 or even skipping the 2560x1440 resolution support for 3840x2160 instead with some of the newer ones.

Editing works in some of them otherwise it just looks wrong or breaks in some way or another like with fixed placement of UI elements and where these then might end up on the screen.

Still would be useful though, compare to something like a emulator and many of these titles do clean up remarkably well just from having a internal resolution that goes above 1280x720 or 1920x1080

From what I’ve seen, the UI issues (at least with Utawarerumono) comes down to a render target not being adjusted when the internal resolution is modified.

As for IdeaFactory’s stuff, I’ve been investigating those games. There’s quite a lot of work to be done in terms of resolution, UI scaling, and that kind of stuff, but I found, at least with DERQ, that it’s possible to stop the stretching of the UI, but the whole thing is anchored towards the left side of the screen. There’s a ton of hard-coded UI stuff that makes getting it working properly on ultrawide monitors a bit of a nightmare through reverse engineering. Adjusting the 1080p internal resolution also causes some weird scaling issues with camera transitions and stuff that uses a gaussian blur such as the pause screen. Stay tuned with that game specifically (If the 90 hours that I have are indicative of anything).

There are a ton of render targets to catch, and not only do you have to resize them, you also have to intercept viewport, scissor and resource copy APIs and compensate for changes to resolution there as well.

I haven’t developed a generic system to handle this because it’s nearly impossible. Actual game-specific patches usually have to be hand-developed by me to solve these problems.

I would love to see this as well. I use a native 4k monitor (LG CX) with a 1070 Ti, so as you might expect, I don’t exactly get the best performance. In performance heavy games I make use of internal resolution sliders (and even better, dynamic resolution if supported), but of course not every game has those options (most don’t actually). So if I want a lower resolution, that only leaves a literal lower resolution, which of course has lower quality HUD but also is generally lower quality overall compared to “normal” temporal upscaling (speaking of which, while i’m sure it’s impossible for some reason that I don’t realize, wouldn’t it be great if Special K could actually add in TAA support for the games that don’t have it? It has access to all of the buffers that it needs right?) that most games with a resolution slider use (plus a bit of injected sharpening, even better if the game has native sharpening). So having Special K able to edit the internal resolution would be absolutely amazing for the games that don’t support it (or don’t have a hack/mod for it). Even editing the internal resolution without affecting the window resolution would be better than actually changing the entire desktop resolution for the game (specifically, for a better looking cursor, more consistent mouse sensitivity, etc.)

I think this same discussion came up when talking about isolating and adjusting the brightness of HUD in HDR games. Yes, it takes a lot of manual work, but having community profiles, so that people who do the work can share, as well as more accessible controls within the UI (not just a plug and play system, but also not having to edit the source code), I think would be the best solution. Of course I didn’t make this app, so i’m sure there is a lot of stuff I am not understanding here.

1 Like