67441a172ec06

Page: [1] 2 »
67441a172fb55
2 Guests are here.
 

Topic: Question on HUD scaling. Read 10561 times  

67441a1730227bob_doe_nz

67441a1730290
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.
67441a1730582
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.

67441a17308d7Simplex

67441a1730927
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 »

67441a1730d34ZylonBane

67441a1730d86
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.

67441a1731081voodoo47

67441a17310db
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.

67441a1731473Simplex

67441a173153b
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 »

67441a17316bdjammonstrald

67441a1731718
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.

67441a1731a26ZylonBane

67441a1731a80
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.

67441a1731b1ejammonstrald

67441a1731b6a
Ohhhhh, ok that makes sense.

67441a1731d09bob_doe_nz

67441a1731d66
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

67441a1731e82voodoo47

67441a1731ed9
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).

67441a17321efSimplex

67441a1732242
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 »

67441a173234aArthandas

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

67441a17326e1ZylonBane

67441a1732734
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.

67441a173287bArthandas

67441a17328ce
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...

67441a1732970Simplex

67441a17329c0
Maybe you should change your gpu scaling options?

67441a1732a71Arthandas

67441a1732ac0
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).

67441a1732b65ZylonBane

67441a1732bae
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.

67441a1732cbeSimplex

67441a1732d0b
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

67441a1732f4fArthandas

67441a1732fa0
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").

67441a1733069Simplex

67441a17330b4
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"?

67441a17332b4Arthandas

67441a1733306
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

67441a17334fdZylonBane

67441a1733550
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.
2 Guests are here.
...but I’m sure you know best
Page: [1] 2 »
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
67441a1734630