Display upscaling tools

Discussion in 'Game Tweaks and Modifications' started by haz_mat, Dec 23, 2014.

  1. haz_mat

    haz_mat Guest

    Messages:
    243
    Likes Received:
    1
    GPU:
    1070 FE
    DSR/VSR scaling calculator tool

    Hello everyone,

    I've written a simple calculator tool to assist in choosing a new display resolution for use with custom scaling. I think this is a good compliment to the Custom Resolution Utility. I searched around but I didn't find anything specific to this use case so I've decided to share it with the community:

    https://sourceforge.net/projects/restool/ (v1.1 updated Jun 2015)

    You simply enter your current native resolution and a percentage to increase the total area. The program yields raw values at the targeted percentage in addition to integer values locked to the aspect ratio. These integer values are useful for choosing a custom resolution for upscaling. Choosing a percentage to increase by can be useful because the performance penalty will be less than simply doubling the native resolution while still achieving some of the anti-aliasing effect of the higher resolution.

    The program is written in Java and is available in the JAR format for portability. A native Windows executable is also available now.

    You will need the Java Runtime Environment to execute the JAR file - you can download the latest version here (oracle.com). Direct link to the Windows x64 installer package: link (41MB - oracle.com).

    Comments and questions are welcomed and appreciated.
     
    Last edited: Jul 9, 2015
  2. Codemonkey

    Codemonkey Member

    Messages:
    18
    Likes Received:
    5
    GPU:
    Nvidia 525M 1024Mb
    Thank you! I will test it.
     
  3. haz_mat

    haz_mat Guest

    Messages:
    243
    Likes Received:
    1
    GPU:
    1070 FE
    Back with an update to my calculator tool. Just a few usability tweaks like being able to hit enter in any of the input fields to trigger calculation, and also numpad plus/minus on the scale field for incremental adjustments. The new version is up on SourceForge already, check the link in the first post.

    I don't know if anyone finds the tool useful but I've used it to stage-up graduated resolutions for VSR/DSR. Combined with the registry tweak in this thread and using my tool to find resolutions this is what my windows display setting looks like now:

    [​IMG]

    So yeah I can find the "sweet spot" for just about any game that can handle more than my native 1920x1200. I've been playing Alien Isolation at 2720x1700 maxed out and locked at 60.
     
    Last edited: Jun 30, 2015
  4. Jackalito

    Jackalito Master Guru

    Messages:
    584
    Likes Received:
    101
    GPU:
    Radeon RX 6800 XT
    Yeah, thank you very much for this. I'll try it as soon as I can :)
     

  5. gatygun

    gatygun Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    Sapphire 290 tri-x 4GB
    I only see a jar and mf file, how do you run your program? Because it doesn't run here.
     
  6. haz_mat

    haz_mat Guest

    Messages:
    243
    Likes Received:
    1
    GPU:
    1070 FE
    Ah yes I should have mentioned you need the JRE (Java Runtime Environment) to run the jar executable. You can get the latest version for your OS of choice: here (oracle.com).

    I could have whipped this up in VB.net for a native windows exe, but I was finishing up a semester in Java so I was already in the groove for working with their API. Plus that jar should run on any platform with the JRE (as far as I know).

    EDIT: I might be able to compile OS-specific native executables without a lot of extra work, but I will need some time to research this - I just need a few days, got other stuff going on.

    Also, if anyone is interested in seeing the source code for educational purposes I would be happy to show how it works.
     
    Last edited: Jul 2, 2015
  7. gatygun

    gatygun Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    Sapphire 290 tri-x 4GB
    Oki thanks.
     
  8. haz_mat

    haz_mat Guest

    Messages:
    243
    Likes Received:
    1
    GPU:
    1070 FE
    I figured out how to wrap the jar file to a native Windows executable. All the required parts of the Java Runtime Environment should be packaged with the exe. Surprisingly, the file size didn't inflate much - only went from 8KB to 40KB.

    Direct Link to download - sourceforge

    I used a program called Launch4j to wrap the jar with the necessary components from the JRE. It seems this one is just for Windows EXEs but if anyone knows of a similar program I would be willing to get native Mac/Linux executables as well.

    Jotti multiscan result - looks like Clam detected it as a PUA because of the wrapper program I used.

    --
    Going forward, I want to optimize my algorithm for finding the desired resolution. I hope someone with better math skills can offer some ideas. Currently, it is an iterative approach which simply multiplies the least common denominator of each axis (the simplest form of the aspect ratio - ex: 16x10 simplifies to 8x5) until the total area is near the desired increase. This ensures the new resolution is always at integers and is true to the original aspect ratio.

    Although the loop should never need to run more than a few hundred times for most situations I can certainly cut that down a bit by starting from the input resolution instead of zero and have a check if the scale percent was positive or negative and count the loops up or down as needed. The thing is, I have a hunch that there might be a math solution to do this without iteration and in just a few steps, but I've never been the best Algebra student so its not really popping out at me.
     
    Last edited: Jul 9, 2015

Share This Page