Just use letterbox integer scale. No other modes can guarantee pixel-perfect display so easily. For example if you choose crop mode on a device with a non-integral devicePixelRatio (and your screenshot looks like it uses some kind of high-DPI display), then the canvas size itself can be fractional.
(non-integral DPRs are a terrible idea, but they exist, so we have to deal with them...)
Thanks for the answer. I think I get what you are saying—so if my monitor is 1280.5 pixel width then everything is fractionally scaled to account for that 0.5? or would it be, on computer, if the browser window size isn't at an integer?
Would that mean on most devices/screens others would not be seeing this as most are at integral DPR?
Using the full-screen is more prioritized for me than pixel-perfect on this project as I wouldn't want to waste space on mobiles. So if I can't find a solution for both I will probably just use scale outer.
If I could get your thoughts on my two ideas for solutions to obtain both pixel-perfect and full screen:
- Letterbox Integer Scale
--on layout start/browser resize -> set canvas size to browser.screenheight & browser.screenwidth
(this didn't seem to work when I tried but just realized maybe the screen size was larger than the layout size so couldn't complete the action—don't have Construct in front of me now)
- Scale outer
--set scale to canvas.width/browser.screen width so that scale reverts back to 1 or 2*(canvas.width/browser.screenwidth) if larger than certain size, etc.
...(and your screenshot looks like it uses some kind of high-DPI display)...
I haven't researched some settings enough to make educated decision—fullscreen scaling; high-dpi; downscaling—so I posted a screenshot of the properties bar in case anything else affects this or any other recommendations. So I honestly have no clue regarding this part of your comment.
Thanks again and I would appreciate your thoughts on this.