66453d1fcaff9

Page: [1] 2 »
66453d1fcb4b0
1 Guest is here.
 

Topic: Question on HUD scaling. Read 9548 times  

66453d1fcbc0fbob_doe_nz

66453d1fcbc94
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.
66453d1fcc078
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.

66453d1fcc400Simplex

66453d1fcc451
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 »

66453d1fcc89fZylonBane

66453d1fcc8f5
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.

66453d1fccc31voodoo47

66453d1fccc93
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.

66453d1fcd025Simplex

66453d1fcd079
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 »

66453d1fcd1aejammonstrald

66453d1fcd1f9
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.

66453d1fcd564ZylonBane

66453d1fcd5b8
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.

66453d1fcd64ejammonstrald

66453d1fcd697
Ohhhhh, ok that makes sense.

66453d1fcd81cbob_doe_nz

66453d1fcd868
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

66453d1fcd96cvoodoo47

66453d1fcd9c2
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).

66453d1fcdcb8Simplex

66453d1fcdd0d
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 »

66453d1fcde0eArthandas

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

66453d1fce224ZylonBane

66453d1fce27a
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.

66453d1fce383Arthandas

66453d1fce3d5
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...

66453d1fce480Simplex

66453d1fce4d2
Maybe you should change your gpu scaling options?

66453d1fce5a0Arthandas

66453d1fce5f4
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).

66453d1fce6beZylonBane

66453d1fce70e
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.

66453d1fce848Simplex

66453d1fce8a7
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

66453d1fceb5fArthandas

66453d1fcebb5
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").

66453d1fcecacSimplex

66453d1fcecfd
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"?

66453d1fcef79Arthandas

66453d1fcefdd
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

66453d1fcf246ZylonBane

66453d1fcf28e
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.
Cards needed: 5
Page: [1] 2 »
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
66453d1fd019c