66568d7f81bdb

Page: [1] 2 »
66568d7f822cf
1 Guest is here.
 

Topic: Question on HUD scaling. Read 9666 times  

66568d7f82a7cbob_doe_nz

66568d7f82aeb
OK, from what I can gather looking at the various threads on it. With New Shock, modifying the line

Code: [Select]
d3d_disp_scaled_2d_overlay
alters the HUD to make it larger to make it easier to see.

I'm using screen resolution 1440 x 900.

If I set 2d_overlay to something slightly lower say 1280 x 800 is the hud meant to be this small?
I thought it was meant to be bigger and possibly easier to read.

Image: http://www.mediafire.com/conv/a98b50324a24b188a0cd3986d860e0f27310270e00b6011511fb3bd8c8dc90634g.jpg


If I set it to 900 x 600, I get this

Image: http://www.mediafire.com/conv/41ae9cad81fdc0a63a2ec598ce45ec682290966801a751aa3b7c61dbe9427c6a4g.jpg

It's easier to see but chunky in 4:3 resolutions.

Yeah, the readme doesn't quite explain that bit in laymans term.
66568d7f82e53
Disable HUD scaling and use different resolutions - you'll see that everything is in order. Except that scaled text is usually heavily aliased which limits the applicability of the scaling function in my opinion.

66568d7f8319dSimplex

66568d7f831ed
I am glad someone asked this because I personally do not understand exactly how hud scaling works. I have 1920x1080 resolution and I am using  a TV, so I need my hud to be big, because on default hud in this resolution the letters are extremely small - I managed to set it right by using trial and error.

Comments in cfg file are as follows:
enable scaling of in-game 2D overlay (HUD), makes the things like current item/weapon text, or SS2
HUD/panels, larger at resolutions of 1280x960 or higher with pixel perfect scaling (requires "use_d3d_display")
NOTE: Enabling scaling may actually improve performance, especially at high resolutions.
d3d_disp_scaled_2d_overlay 64
I am not sure that by default it is 64 because I modified it, but nonetheless, I have no idea what parameter should be used here. Or perhaps it does not need any parameter? I know that when I was using different values, in most cases my HUD remained very small.

alternatively a fixed 2D resolution can be defined, which is aspect ratio corrected and scaled up
to the current resolution, without enforcing pixel perfectness (ie. filtering makes it a bit less crisp)
d3d_disp_scaled_2d_overlay 960 540
Ok, so if I have 1920x1080 resolution then what resolution should I enter to get pixel perfect scaling and large HUD?

force scaled menu and 2D overlay graphics to always use bilinear filtering, even when scaled an even multiple
(smoothness/fuzziness vs pixel perfectness)
d3d_disp_force_filter_scale2d
So when this is disabled then 2D overlay is filtered only when it is not an even multiple?
And when enabled, filtering is always used?
I noticed that when I enabled it then my hud became a bit blurry, so I disabled it to have crisp (although a bit pixellated) image.

Here is how my hud looks in 1920x1080. My options is
Code: [Select]
d3d_disp_scaled_2d_overlay 3
d3d_disp_force_filter_scale2d - disabled:
http://i.imgur.com/63ZiucI.png

d3d_disp_force_filter_scale2d - enabled:
http://i.imgur.com/iQcINRg.png

« Last Edit: 28. February 2013, 13:17:44 by Simplex »

66568d7f8366dZylonBane

66568d7f836be
Ok, so if I have 1920x1080 resolution then what resolution should I enter to get pixel perfect scaling and large HUD?
He just told you: 960 540.

The only way to get pixel-perfect scaling is by using an even multiple of the target resolution. This is true of any image scaling application. If that doesn't give you a size that works for you, you're going to have to accept pixel interpolation and a little fuzziness or blockiness.

66568d7f83a5cvoodoo47

66568d7f83aad
I'm using screen resolution 1440 x 900.
this would basically mean you can't have pixel perfect scaling, as 900/2=450, and the minimum for scaling to work is 480.

66568d7f83dceSimplex

66568d7f83e22
He just told you: 960 540.
You mean the author of the comments in the cfg file? The default values in the comments are 640 480.

The only way to get pixel-perfect scaling is by using an even multiple of the target resolution. This is true of any image scaling application. If that doesn't give you a size that works for you, you're going to have to accept pixel interpolation and a little fuzziness or blockiness.
Thanks for the confirmation. Yes I understand that. I already experimented wit 960x540, as it is exactly 1/4th of 1920x1080 resolution.
But from what I understand you can use one of two methods of hud scaling - either provide a resolution (i.e. display the hud AS IF my resolution was 960x540) - or use some kind of variable (in my case: 3) which determines the type of scaling. I am curious how exactly that second method works (or actually the first method, because in the comments the resolution method is described as "alternative").

I found the exact default (sample) values for both methods. These are:
d3d_disp_scaled_2d_overlay 64
d3d_disp_scaled_2d_overlay 640 480
I think I more or less understand how the second one works, but I have no idea how the first one works.

@bob_doe_nz
You may try "d3d_disp_scaled_2d_overlay 720 450" but as voodoo47 pointed out, this may not work properly.

« Last Edit: 28. February 2013, 16:39:19 by Simplex »

66568d7f83f77jammonstrald

66568d7f83fd2
From what I understand from the comments in the cfg, the first line is there simply to enable or disable (without the need for alteration) in order to get a default scaling setting that will work, and will make the interface big enough to be "readable" for all resolutions.

The second line is there if you are unsatisfied with how the first line works, and would like to experiment with various resolution settings (as you have discovered) in order to find a setting that matches more closely with your preferences. For example, simply enabling the first line works fine for me, as I play ss2 in 1600x1200 resolution, and the default scaling gives me sharp crispy goodness. However, if I were to play in my native 1920x1200 resolution, I might want to experiment with the second line to better match the resolution it is scaling to.

66568d7f842a4ZylonBane

66568d7f842f9
However, if I were to play in my native 1920x1200 resolution, I might want to experiment with the second line to better match the resolution it is scaling to.
No, 1920x1200 would work just as well, because it's really only the vertical resolution that matters. As the horizontal resolution increases it just slides the UI elements outward to align with the screen edges.

66568d7f8438fjammonstrald

66568d7f843db
Ohhhhh, ok that makes sense.

66568d7f84560bob_doe_nz

66568d7f845ac
Sweet! Got it working!

I've used 75% of the screen size. (1080 x 675)

Much better!!!  :D

Before:
Image: http://www.mediafire.com/conv/0b70d981e0d8b6e63fc0ce1c4747e3b7f83dac25b971a46f4fdc7773dd44f50e4g.jpg

After:
Image: http://www.mediafire.com/conv/8a7fd17f7afed66bbae85264c12e3bddc119c80ac0bf3baf57d135520b5af0674g.jpg


So the laymans wording chould be something like...

Set
Code: [Select]
d3d_disp_scaled_2d_overlay
to a percentage of your current in-game screen resolution.

E.g if your in-game resolution is 1920 x 1080, setting 2d_overlay to 75% which would be 1440 x 810

66568d7f846c5voodoo47

66568d7f8471d
not sure. I have been playing with various monitors and hud scaling settings in the last few days, and I would say that d3d_disp_scaled_2d_overlay 64 will always try to set the best pixel perfect scaling resolution for your monitor (in my case, d3d_disp_scaled_2d_overlay 64 is the same as d3d_disp_scaled_2d_overlay 800 600 and d3d_disp_scaled_2d_overlay 960 600). d3d_disp_scaled_2d_overlay xxx yyy is there so you can set it manually, should the auto setting fail for some reason (like having a too small vertical resolution, like you have).

66568d7f84a3bSimplex

66568d7f84a91
I just accidentally came across file called new_config_vars.txt included in the New Dark patch. It explains the syntax of the variables and provides description which is often more detailed than in cfg file. For example, here is the description for "d3d_disp_scaled_2d_overlay":

d3d_disp_scaled_2d_overlay <val> [<val2>]
    only works in combination with "use_d3d_display", enables scaling of the in-game 2D overlay (HUD).
    * In the first form with only one value, in the range 2 to 64. The game will try to magnify the overlay the
      specified amount of times, if that isn't possible it will find nearest scale factor below that can be
      applied. It will always maintain pixel perfectness so it will choose a scale that results in en even
      multiple of pixel of the base resolution 640x480. For example any resolution that's at least twice the
      size of 640x480 can have an overlay scaling of 2. If you want the game to always choose the largest
      possible scale then set the value really high, i.e. 64, but if you never want it more than double on any
      resolution then set it to 2.
    * In the second form it takes two values specifying a virtual resolution for the 2D overlay. The overlay
      is scaled to fit the current display resolution which may result in slightly blurry results if the scale
      isn't an even pixel multiple, due to filtering. The specified virtual resolution must be at least
      640 480 and less than the actual display resolution. The aspect ratio of the virtual resolution will
      automatically adjusted to match the actual resolution.
    NOTE: Using scaling will actually improve performance (to some degree), in particular at high resolutions.

That is exactly the answer to my question - I was wondering what is the difference between these two methods :)
« Last Edit: 01. March 2013, 12:26:05 by Simplex »

66568d7f84b7eArthandas

66568d7f84bc9
Btw, is there a way to change font 1 into font 2 according to this screen?
Image: http://i.imgur.com/mXgrYsJ.png
66568d7f84ccb
In theory, yes, but it's not a simple swap-and-rename business.

66568d7f84ed4ZylonBane

66568d7f84f32
Should my main menu look like in the "before" pic with SHTUP or is it just a WIP project?
I took that screenshot at 640x480 and scaled it up exactly 2X in a paint program. If you want your menu screens to not be blurry, you have to set your display vertical resolution to an even multiple of 480. Of course, then you'll have LCD scaling artifacts, since 960 and 1440 are very uncommon native vertical resolutions. So best advice is to just run the game at the highest resolution your monitor supports, so the inevitable scaling blur will at least be as minimal as possible. And if you really want that blocky fat pixel look, IIRC you can turn off GUI smoothing in cam_ext.

66568d7f84ff5Arthandas

66568d7f85045
I've tried, 1680x960, 1280x960 and 640x480 and it's all blurry because it's stretching to fullscreen. But it works in windowed mode. If only you could display the main menu in native/2x resolution on fullscreen mode no matter what screen resolution you're using...

66568d7f850d9Simplex

66568d7f85123
Maybe you should change your gpu scaling options?

66568d7f851c6Arthandas

66568d7f85216
To enable gpu scaling option you need a different type of monitor cable than I have. It's no big deal, only the main menu is blurry, in-game UI is perfectly sharp (except for that various menus font).

66568d7f852caZylonBane

66568d7f85310
Errr, no. The main menu interface is natively 640x480, but the game is always running at the resolution you've set, so it gets scaled up internally to full-screen by the GPU. Again, look in cam_ext.

66568d7f854aeSimplex

66568d7f85507
Do you have these options enabled?

; use a single resolution for both menu system and in-game, with normal double buffering (in fullscreen)
; single_display_mode 2
; same as above but with triple buffering
single_display_mode 3

; scale menu system to fit screen (in "single_display_mode") using 3D HW for best quality
; (if you're having trouble like a black screen when starting the game try mode 0 or 1)
; when "use_d3d_display" is enabled, 3D HW is always used, this only sets the scale mode to fit screen
ui_scale_mode 3

66568d7f857cdArthandas

66568d7f8582b
Errr, no. The main menu interface is natively 640x480, but the game is always running at the resolution you've set, so it gets scaled up internally to full-screen by the GPU. Again, look in cam_ext.
Yes, that's what I said in my previous posts. I can set a multiply of 480 but it will be stretched to fullscreen unless I set the windowed mode.
I have "single_display_mode 3" and "ui_scale_mode 1" (since I'm also using "scale_movie_to_ui").

66568d7f8590bSimplex

66568d7f8595c
Do you have a widescreen monitor connected with analog VGA cable? This could explain why the 4:3 menu gets stretched in full screen. On a DVI connection it would be possible to set scaling that preserves the aspect ratio.

And what is the relation of "ui_scale_mode" to "scale_movie_to_ui"?

66568d7f85b9cArthandas

66568d7f85bf2
Do you have a widescreen monitor connected with analog VGA cable?
Yup, that's why I can't enable gpu scaling in CCC.
And what is the relation of "ui_scale_mode" to "scale_movie_to_ui"?
"scale_movie_to_ui" requires "ui_scale_mode 1" to work

66568d7f85dd1ZylonBane

66568d7f85e22
Yup, that's why I can't enable gpu scaling in CCC.
Nobody is suggesting that. What you can control is how the game engine performs its scaling.
1 Guest is here.
(THE DAY AFTER YOU DIE: You wouldn’t get far)
Page: [1] 2 »
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
66568d7f86867