• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!
  • Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Legacy GM Fonts appear croped

Ronchon

Member
HI,
Since I updated to v1.4.1757 , all my fonts appear cropped in the bottom like this :



Its pretty uncomfortable to read.
As you can see it looks like the last pixels in the bottom of each letter are missing.

Am i the only one experiencing this ?
On top of that, my fonts also randomly appear 'blurry' . This is however an issue i've always had and i never could understand why.

Im am testing in Windows, and in windowed mode.
These issue don't seem to happen in fullscreen mode.
 

Surgeon_

Symbian Curator
I had some issues with rendering text and it turns out that it's best if the text is drawn on a coordinate that's a whole number. Also, it may also happen if you scale the game by a fraction instead of a whole number.
 

Ronchon

Member
Thanks for the reply!

What do you mean by scaling the game ? How can i make sure i don't have a fraction scale ?

I have unsucessfully tried to make sure i was drawing text to round integer values, and i have tried to make sur the GUI layer would stay the correct size by using display_set_gui_size and display_set_gui_maximise(1,1,0,0).
Nothing seemed to change anything.
 

Ronchon

Member
Sorry to bump this, but its a quite problematic issue and i still have no idea of how to fix it.
Anyone else experiencing this ?
 

RangerX

Member
I don't have this issue but what Surgeon says might be a a reason for this issue.
If I get you right, when in fullscreen you don't have the issue right? Its just in windowed mode that you get it.
First of all, to remove the interpolation on the text, you should remove anti-aliasing on it (uncheck "high quality" box and put anti-aliasing box to "off")
If you never want interpolation on anything, run "set_texture_interpolation(false)" at the beginning of your game too.

Now for the row of pixel missing. What's the monitor resolution where it display fine when fullscreen? Then, what's your view size / port size / application surface size?
You have to determine if your game is scaled by a value that is not an integer. This causes graphical damage.
Its easy to know it actually. You divide your monitor resolution (well, your window size if you problem is only in windowed mode) by your view size / port size / application surface size and if it gives you a fraction its not good.

Per example:

A game that is 800x450 displayed scaled in a 1920x1080 monitor or window (1920 div by 800 = 2,4 --> the game is scaled up by 2,4)
The only way to not have graphical damage is to scale up by 2, 3, 4, 5, etc. Always an integer.
 

Ronchon

Member
Hi and thanks for taking the time to answer !

About the scaling, i've checked everything i could think off.
I have a general function executed everytime somethng is changed regarding views, refreshing all values and making sure they're all synced.
Indeed, when in fullscreen the issue doesnt seem to happen.

Here are debug infos about views when i'm in windowed mode :



And in fullscreen mode :




As you can see, in windowed mode everything seems consistent to the window size of 1920*1017, including application surface, UI display size, and view sizes and port.
Same in Fullscreen where everything is consistent to 1920*1080.

I hav'nt tried to tweek the font settings of 'high quality' ( off in all my fonts ) and antialising ( 3 in all my fonts ). I'll see if tweeking these change anything!


After tests :
enabling "high quality mode" seems to fix the cropping. But doesnt change the blurryness.
antialiasing on or off doesnt seem to change much when high quality mode is enabled.
"high quality mode " off and antialisaging off still shows fonts as cropped, but aliased and therefore not blurry.
 
Last edited:
I

icuurd12b42

Guest
force the gui if drawing on the gui to be 1080p... for the application surface, if drawing in the draw event, force it to 1080p

the problem is that the window's border and caption is removing pixels from the 1080 specified size. 1080-1017 mean there are 63 raster lines that need to be removed. I guess you could mathematically figure out that 63 value comparing what you expect with what the function tell you, and resize the window to 1080+63.... that would make the client region 1080p ...

Also you should definitely not try to run a 1080p window on a 1080p display... because it has no room for the client and the caption. if running windowed, run it (the port size) at 720p.


In fact try to set the port size to 720 first... the value become more arbitrary in full screen mode anyway. but at least the 720 size window should fit on a 1080 size display
 

Ronchon

Member
I don't understand.
Why would i force it to be 1080p when the actual size of my window is 1017p ? From what i understand, that would create scaling, not the other way around.
In windowed mode, my window size is 1920x1017, so it makes sense that everything is alligned to this so that the scale would be preserved at 1:1.
( And in fullscreen mode that becomes 1920x1080 )

So no i'm not trying to run a 1080p window on a 1080p display. In windowed mode when 'maximized' by windows, it resizes it to 1920x1017 because of the caption and all that you mentionned.
I am not manually setting the window size, i've enabled the option to let the user resize , and that includes these windows buttons :

All i do is have a function detect any change made and then resyncing all the gamemaker views and port sizes and all to match the window size and preserve a 1:1 scale.
 
Top