Pages: 1 2 3 4 5 6 7 8 9
Author Topic: Fonts display glitch / Borders / Scrolling glitches  (616,300 Views)
Offline (Unknown gender) Darkstar2

Member
Joined: Jan 2014
Posts: 1,238
View profile
Reply #105 Posted on: June 04, 2014, 08:11:14 AM
Quote from: Robert B Colton on June 04, 2014, 06:29:18 AM
haha

QuoteBut unless you have a contact at NVIDIA you will never know for sure......  Graphic card issues is nothing new, some games in history have had issues with NVIDIA, some with AMD  etc.....
I will call them when I get time.

Well actually I did earlier and humoured them lol they said that this was the funniest thing they heard like........forever lol and said what the fuck am I doing playing with toys and to use real game engines instead !  ;D ;D ;D ;D
Offline (Unknown gender) Goombert

Developer
Joined: Jan 2013
Posts: 2,991
View profile
Reply #106 Posted on: June 04, 2014, 10:04:33 AM
So go use one then I won't stop you. You have a thousand choices with more permissive licenses, less buggy, and well designed.

I've provided nothing but suggestions offered by the graphics API developers, the card manufacturers and their affiliates (Microsoft). Maybe they should go back to the drawing board or offer developers some better fucking solutions. This pissing contest attitude of Nvidia is why they are having problems pushing their shit cards into Android and other markets. I'll be glad to see their demise.
Offline (Unknown gender) TheExDeus

Developer
Joined: Apr 2008
Posts: 1,860
View profile
Reply #107 Posted on: June 04, 2014, 05:53:19 PM
QuoteThe problem is apparent on AMD devices as well.
Until recently no one said that. I have an AMD and I don't have that issue. For now you seem the only one.

QuoteThis pissing contest attitude of Nvidia is why they are having problems pushing their shit cards into Android and other markets. I'll be glad to see their demise.
Nothing is wrong with nvidia. They are the only ones who care about OpenGL in the first place. Also, by Steam data 50% have Nvidia and 30% have AMD, which is contrary to what you mentioned. AMD is in consoles though, but Nvidia is actually the only one of the two going into Android and other markets. Nvidia is even in cars now. And spacecraft. I personally like Nvidia as a company and their products, but I have nothing against AMD either.
Offline (Unknown gender) Darkstar2

Member
Joined: Jan 2014
Posts: 1,238
View profile
Reply #108 Posted on: June 04, 2014, 08:02:54 PM
Quote from: Robert B Colton on June 04, 2014, 10:04:33 AM
So go use one then I won't stop you. You have a thousand choices with more permissive licenses, less buggy, and well designed.

You know very well that is typical response from a company, be it NVIDIA or AMD or Intel or Microsoft or anybody, will always blame someone else, but rarely if any admit to any issues or claim that most people are idiots and will never notice these minor details.... Mind you not everyone has a keen eye to notice flaws but Christ, the font problem is so damn obvious at first I thought I was seeing double LOL.

I don't have the luxury or time to use something else with steeper learning curve, I need something that is easy to learn and quick.  GayStudio fits the bill, but unfortunately it fall flat on its arse, which is how I discovered here.  They use opensource and charge $800 for it yet they can't provide the BASIC functions, and basically telling people to devleop their own functions, I mean what the fuck, that defeats the whole purpose GM was founded on......I will never support such company.

Quote
I've provided nothing but suggestions offered by the graphics API developers, the card manufacturers and their affiliates (Microsoft). Maybe they should go back to the drawing board or offer developers some better fucking solutions. This pissing contest attitude of Nvidia is why they are having problems pushing their shit cards into Android and other markets. I'll be glad to see their demise.

There are some internal issues with a certain other companies I can't discuss and won't discuss.  NVIDIA is not the only one with issues.  Just because your fonts render nicely on your AMD card does not mean AMD is free of flaws or problems, that's as much as I will say.  Quality control is lacking nowadays, nobody is exempt from this problem, font or no problem, NVIDIA has far bigger issues in its history, i'm sure people forgot all about the overheating and premature chipset failures board and GPU and many others.   Personally I never had issues with NVIDIA graphic cards.

Companies want to push release as quickly as possible and have end-users as guinea pigs (sounds familiar ? :D)  Nobody is exempt from this shit, remember Intel ? NVIDIA ? AMD ? many more to list.

As far as AMD I've been a big fan of their CPUs, and always used them.  The last CPU from AMD I used was the Phenom X4 3.4Ghz, that was great overall and good enough for gaming.  Any processor they released after that was a let down.  It was a blessing for me since then I now use Intel CPUs.  (My board is an ASUS P8Z77-V Pro, IB.  )  way way better stability, speed and functionality than previous boards I had with the NVIDIA chipset.

So as far as GPU, I'm sticking with NVIDIA, the way it's meant to be played  ;D ;D ;D

Offline (Unknown gender) Darkstar2

Member
Joined: Jan 2014
Posts: 1,238
View profile
Reply #109 Posted on: June 04, 2014, 08:07:40 PM
Quote from: lonewolff on June 04, 2014, 11:08:15 AM
Quote from: Robert B Colton on June 04, 2014, 10:04:33 AM
So go use one then I won't stop you. You have a thousand choices with more permissive licenses, less buggy, and well designed.

I've provided nothing but suggestions offered by the graphics API developers, the card manufacturers and their affiliates (Microsoft). Maybe they should go back to the drawing board or offer developers some better fucking solutions. This pissing contest attitude of Nvidia is why they are having problems pushing their shit cards into Android and other markets. I'll be glad to see their demise.

How is this an Nvidia issue? The problem is apparent on AMD devices as well.

The problem is clearly with how ENIGMA is doing something.

Might be a rounding thing after all, and the fact both type of GPUs round differently, I guess that is a more plausible theory given the 0.01 fixing everything so far.  It is not uncommon for commercial games to have issues with some type of cards, that's why companies add patches and fixes internally to deal with specific issues  - Example I certain games had issues with a specific range of NVIDIA chipsets, so patches released to fix these issues.  Same for other cards.  This is what ENIGMA should do essentially. And a cleaner more permanent fix would require far more than just 1 lor 2 lines of code :D so unless someone wants to volounteer re-writing ENIGMA's font and graphic sengine from scratch in a timely manner (before the apocalypse) I guess the only short term solution is a hack and besides, ENIGMA would not be the first product to use quick hacks and band aid solutions, only difference is that there are good reasons to be doing so, where an $800 product has no fucking excuse. :D

Offline (Unknown gender) egofree

Contributor
Joined: Jun 2013
Posts: 601
View profile
Reply #110 Posted on: June 04, 2014, 08:13:33 PM
I've tested the test application from Darkstar2, and i've also the bug.  If i create a new project, and i use the following code in an object:


draw_set_color(c_white);
draw_text(50,50,"11111111111111111111111111");


I've the bug, BUT if i create a fonts resource, and i specify the fonts :

draw_set_color(c_white);
draw_set_font ( myfont);
draw_text(50,50,"11111111111111111111111111");


I don't have the bug. I tried many different fonts, and i didn't have the bug. So i don't know how ENIGMA draws text if the fonts type is not specified, but if you create a fonts resource, it seems you never have this bug.
Offline (Unknown gender) Darkstar2

Member
Joined: Jan 2014
Posts: 1,238
View profile
Reply #111 Posted on: June 04, 2014, 08:13:48 PM
Quote from: TheExDeus on June 04, 2014, 05:53:19 PM
QuoteThe problem is apparent on AMD devices as well.
Until recently no one said that. I have an AMD and I don't have that issue. For now you seem the only one.

One has to go lower level than that.  Sometimes at the chipset / chip revision level.  If someone has an AMD GPU and noticing the flaws with fonts as image 1 I would like to know, as well as your specs.

Quote
Nothing is wrong with nvidia. They are the only ones who care about OpenGL in the first place. Also, by Steam data 50% have Nvidia and 30% have AMD, which is contrary to what you mentioned. AMD is in consoles though, but Nvidia is actually the only one of the two going into Android and other markets. Nvidia is even in cars now.

In cars, yikes, if that's the case then where it normally should say turn left on exit 1, would say instead turn left on exit 11.  lol!

Quote
And spacecraft. I personally like Nvidia as a company and their products, but I have nothing against AMD either.

Same here, a big loyal customer of AMD for very long. Spent a fortune on their products.  But now Intel won me over for their CPU (mind you AMD was convenient for me for a while, price wise) but the Intel is worth the extra mile.)  But as far as GPU I am sticking to NVIDIA unless I see serious enough issues / failures, etc. then it will be onboard graphics lol!
Offline (Unknown gender) egofree

Contributor
Joined: Jun 2013
Posts: 601
View profile
Reply #112 Posted on: June 04, 2014, 08:16:31 PM
Darkstar2:
Read my previous message, and tell me if you have the bug with a fonts resource.
Offline (Unknown gender) Darkstar2

Member
Joined: Jan 2014
Posts: 1,238
View profile
Reply #113 Posted on: June 04, 2014, 08:22:41 PM
Quote from: egofree on June 04, 2014, 08:13:33 PM
I've tested the test application from Darkstar2, and i've also the bug.  If i create a new project, and i use the following code in an object:


draw_set_color(c_white);
draw_text(50,50,"11111111111111111111111111");


I've the bug, BUT if i create a fonts resource, and i specify the fonts :

draw_set_color(c_white);
draw_set_font ( myfont);
draw_text(50,50,"11111111111111111111111111");


I don't have the bug. I tried many different fonts, and i didn't have the bug. So i don't know how ENIGMA draw text if the fonts is not specified, but if you create a fonts resource, it seems you never had this bug.

Don't be mislead mate - I've done exactly as you did.  Just because you don't see the problem with declared fonts doesn't mean it's not there.  It's there and if you use it enough you will see it.

I've posted some screenshots you will see the big size and fonts, and I mentioned it many times.  True that on declared fonts you see less of the problem, you might even make it go by using AA, which cancels out the 1px left overs at the edges, but the problem exists.   Harder to spot, true, but tried all sorts of fonts, sizes, combination but with AA off, and noticed artifacts too, verticle lines, dots, etc, the fix I am attempting to test on will temporarily fix this and so far does not seem to alter anything else.  Those artifacts are on edges of the glyphs it appears, so it's obvious they will be canceled out and when declaring fonts AA is used by default.  Padding should help indeed, but as mentioned before might create more work for specific developers.

BTW I noticed this lines on edges when importing certain projects from GM to ENIGMA, even on actual sprites.  Yet when the project is re-saved as EGM and re-opened it works fine.   Also noticed major issues when saving as any type of GM file from LGM and importing in GMS, it opens but get asset compiler issues.  But that is off topic :D

Font rendering in GMS is crap basically.  true that I have not seen the artifacts in question maybe they us a different method to render them or round them I don't know, but if you read text you will see they are not on a straight line and each character positioned slightly different on the Y axis, perhaps due to scaling I don't know.   Some filtering is used I'm sure, because the fonts are crisp edged on ENIGMA and smaller sizes display better, where on GMS they have a filtered look.
Offline (Unknown gender) egofree

Contributor
Joined: Jun 2013
Posts: 601
View profile
Reply #114 Posted on: June 04, 2014, 08:26:10 PM
Quote from: Darkstar2 on June 04, 2014, 08:22:41 PM
True that on declared fonts you see less of the problem..

Could you give me an example with declared fonts with a problem ? I would like to test it also.
Offline (Unknown gender) Darkstar2

Member
Joined: Jan 2014
Posts: 1,238
View profile
Reply #115 Posted on: June 04, 2014, 08:51:20 PM
Quote from: egofree on June 04, 2014, 08:26:10 PM

Could you give me an example with declared fonts with a problem ? I would like to test it also.

Will do so later as I have lots on my plate now.
I already did those tests.  BTW, when running my EXE it dose not matter what you have in your source CPP, but if you are compiling your own project make sure that your GLMatrix.cpp, GSFont.cpp, GLScreen.cpp don't have any offset fixes !  I noticed fixes were merged and later a pull request was made to remove all offsets, but it was not merged yet.  So you may have the source with a previous fix and that might bias your results.

Right now working on 2 things, a revision 2 that will include more extensive tests, scroll, V/H, text, different sizes, fonts, etc and will hardcode the fixes in the CPP instead of the program, this is needed in order for the fixes to apply globally and not only in draw events.  I will address the declared font issue then.

Meanwhile with no fix / no offsets in the CPPs,
here are some examples these are under room 640x480.  Some will be less obvious and not on all characters, so look closely. (obviously this concerns NVIDIA users)  AMD users who don't see any problems will very unlikely see any with declared fonts :D

This is only a sample / example:

Arial size 30 bold unchecked italic unchecked  AA off
Code (gml) Select

draw_set_color(c_white);
draw_set_font(font_0);
draw_text(10,10,"111111111111111111111111");
in draw event.


Look at the 1's very closely you will see some 1's have a tiny vertical line few pixels in height to the left of the 1.

Here is another same font, arial 30, bold OFF italics OFF AA OFF
Code (gml) Select

draw_set_color(c_white);
draw_set_font(font_0);
draw_text(10,10,"ABCDEFGHIJKLMNO
PQRSTUVWXYZ");


Look closely, this one might be harder to spot, depending on your monitor res, press F4 to full screen
you will see a vertical line left to A, a line under Q (very obvious there), and few px left to G.

Try this last one above, with size 50 instead, full screen it, lines below text, so obvious, in many areas.

Using bold and a combination of AA will mask the problem and give you the impression there is none.

I too got fooled at the beginning of my testing and thought this only concerned non declared fonts, which now that I think about it, would not make much sense. Since to the engine it does not discriminate and does not know which font is which.


Offline (Unknown gender) egofree

Contributor
Joined: Jun 2013
Posts: 601
View profile
Reply #116 Posted on: June 04, 2014, 09:04:42 PM
Quote from: Darkstar2 on June 04, 2014, 08:51:20 PM
Arial size 30 bold unchecked italic unchecked  AA off

Ok, if you uncheck AA,  sometimes  you can see problems, but honestly is it a big concern to check AA ? AA can only improves the quality of rendering, and as far i can see, it will fix your bug. I can understand that you want to fully understand what's going on, but from my point of view with a fonts resource declared, fonts drawing in ENIGMA is far from being bad, and in any case it is not blocking !
Offline (Unknown gender) Darkstar2

Member
Joined: Jan 2014
Posts: 1,238
View profile
Reply #117 Posted on: June 04, 2014, 09:13:09 PM
Quote from: egofree on June 04, 2014, 09:04:42 PM
Quote from: Darkstar2 on June 04, 2014, 08:51:20 PM
Arial size 30 bold unchecked italic unchecked  AA off

Ok, if you uncheck AA,  sometimes  you can see problems, but honestly is it a big concern to check AA ? AA can only improves the quality of rendering, and as far i can see, it will fix your bug. I can understand that you want to fully understand what's going on, but from my point of view with a fonts resource declared, fonts drawing in ENIGMA is far from being bad, and in any case it is not blocking !

You are missing the point ,turning on AA does not resolve every issue  Like I said, I have gone through this extensively, and it can be tricky.  AA may seem to fix it,but there are situations when it does not.  I thought it did at first and that it was the solution, but discovered otherwise.   Also if AA option is there, it is to be used or not used, why should people be forced to use it ? If there is a fix that can be applied that will work for undeclared, declared ,AA or no AA, so be it, shouldn't have to force an end user to use AA or apply their own fix, especially if there is something that can be done as a quick fix.

Thanks but I was already aware about the AA thing, and again I will repeat over and over this does not only concern fonts but flickering on scroll, you will see with my new demo.  the AA is not a complete fix.  my test fix hopefully will patch everything.

Previous to this topic Robert and I were working on finding offsets that worked for the both of us, we played with bigger offsets and even followed hardware recommendations and it resulted in me getting good results and Robert getting bad ones and 1px gaps at the seams of scrolling, so we could not find a range that worked for both of us 100%  What first started as a font only issue is now having to work a fix that will not break something else including scrolling which the previous offsets / fixes did affect !


Offline (Unknown gender) Goombert

Developer
Joined: Jan 2013
Posts: 2,991
View profile
Reply #118 Posted on: June 05, 2014, 07:24:22 AM
Yes Darkstar is right, the issue is still there, and we need to find a fix because it will affect other things in the future.

Quote from: TheExDeusNothing is wrong with nvidia. They are the only ones who care about OpenGL in the first place. Also, by Steam data 50% have Nvidia and 30% have AMD, which is contrary to what you mentioned. AMD is in consoles though, but Nvidia is actually the only one of the two going into Android and other markets. Nvidia is even in cars now. And spacecraft. I personally like Nvidia as a company and their products, but I have nothing against AMD either.
Sorry Harri, I was talking about Linus Torvalds, it's been a while since I heard that talk so excuse me. I don't have any statistics or facts to refute you or verify my claims, and I'm not going to bother because it's irrelevant anyway.

Quote from: Darkstar2Previous to this topic Robert and I were working on finding offsets that worked for the both of us, we played with bigger offsets and even followed hardware recommendations and it resulted in me getting good results and Robert getting bad ones and 1px gaps at the seams of scrolling, so we could not find a range that worked for both of us 100%  What first started as a font only issue is now having to work a fix that will not break something else including scrolling which the previous offsets / fixes did affect !
Yes, but important to note here Darkstar, me and you used that method to solve blurry text in Direct3D and it worked, there is no problem with Direct3D text at all now. Isn't that amazing? OpenGL is the one proving to be a bitch to fix, and it's not their fault, it's the graphics card manufacturers who make standard implementations of Direct3D and seem to molest OGL.

Quote from: Darkstar2In cars, yikes, if that's the case then where it normally should say turn left on exit 1, would say instead turn left on exit 11.  lol!
This actually made me laugh.
Offline (Unknown gender) Darkstar2

Member
Joined: Jan 2014
Posts: 1,238
View profile
Reply #119 Posted on: June 05, 2014, 10:12:22 PM
Quote from: Robert B Colton Yes, but important to note here Darkstar, me and you used that method to solve blurry text in Direct3D and it worked, there is no problem with Direct3D text at all now.
/quote]

So far so good, and once DX9 gets full screen and window moving fixes it will be even better.   BTW, speaking of DX9 I am aware the lone is working on getting this fixed.  And it's true what you are describing about D3D is spot on.  I noticed it myself in games when alt tabbing and going back to the game the screen is black and there is a delay before everything is initialised again.  However, there are some games that don't have this delay and instantly redraw the window.  Can I assume that they are not using actual real full screen but other methods or different methods of repopulating the VRAM or whatever is done ???

BTW this fix would likely work for built in resources but NOT external resources such as those added by *_add functions, so there would need extra functions added to re-init those, + use of scripts.  So in essence, DX9 will never be truly fixed in ENIGMA unless you handle everything yourself.

Quote
Isn't that amazing? OpenGL is the one proving to be a bitch to fix, and it's not their fault, it's the graphics card manufacturers who make standard implementations of Direct3D and seem to molest OGL.

That's true and has been documented for years.  I guess a good example is the DVD specifications, not 100% of the DVD players on the market adhere to strict DVD Specifications 100%,.

You've mentioned the problem might be caused by the way NVIDIA rounds, I guess it would have to be a chipset / chip revision as some NVIDIA users do not have the issue, although most do.  I guess this would explain why .01 might actually be assisting the rounding ?  Luckily this is an easy fix and once i'm done testing phase 2 and it's implemented, it will be easy to change the GL3Matrix as well.


Pages: 1 2 3 4 5 6 7 8 9