86Box/86Box

UI 4:3 integer scale fullscreen scaling is not integer scaled it is using hidpi scaling

Closed this issue · 3 comments

What happened?

Look closely at the "e","m" and "o" letters in the examples.

In a window set to 1x 4:3 integer and nearest, this is what it looks like:

image

In a window set to 1x 4:3 integer and hidpi scaling, this is what it looks like:

image

So far it makes sense, because hidpi scaling is not integer scaling and you can see that the letters are shaped differently between the two scaling modes.

Now, in fullscreen 4:3 integer scale mode:

image

It is the same scaling as hidpi mode.

What should happen here in my opinion, is that if the hidpi is checked ON, then it can stay as it is, but if it OFF, then if the physical resolution of the monitor is known and there is room to do 2x, 3x, etc. scaling, then go ahead and do so.. but if it cannot fit 2x without running out of black borders, then just do 1x.

Configuration file

n/a

Operating system

Windows 10

CPU

Core 2 Duo

86Box version

v4.1.1 build 5634

Build architecture

Windows - x86 (32-bit)

Build type

  • New recompiler
  • Debug build

Download source

Official website (Jenkins, GitHub)

Additional context

No response

NOTABUG. You're just not understanding what's going on. It appears you're using 200% HiDPI scalling, so in Windowed mode, in with 1x scaling + HiDPI on in 86Box, it's effectively being scaled to 2x. In full screen, HiDPI is completely ignored and it is being scaled as closely as possible to your physical resolution which turns out to produce the same 2x scale. Because yes, it is 2x relative to the actual 86Box buffer.

@OBattler I'm using 150% logical scaling. I figure the window when set to integer should only render in physical increments so it can snap to actual pixels, not logical. The resolution of my monitor is 2048x1152, a VGA window of 720x480 SHOULD be capable of 2x pixel-perfect. If I had a 1440 resolution, then 3x, but it is not even doing 2x here. It is scaling 1x to a fractional which isn't correct output so the letters are rendered differently on the same row (which is weird).

To prove it, here is 2x scale in a Window with bars hidden to make it fit properly.. so, I pose you this question. If the letters render like this in a Window why can't it ALSO render like this in fullscreen where there is plenty of space to fit 720x480 to 1440x1080 scaling?

Fullscreen does have a scaling issue.

image

oh yes. that's indeed the same issue I experience here with this issue: #4383