With the release of an update in our game, I’ve noticed all strokes on your screen starting to flicker, when you move around your camera.
Cases when this seems to not happen:
When I make my Tab/Window very small
It seems to be less frequent in scenarios with less UIStrokes e.g. in Pro Lobby / Studio (because Players have Billboard UIs above their head)
Potential Considerations:
UIStrokes could have decimals .2 .4, as I auto adjust them once
We might have reached a threshold of UIStrokes? Maybe in Combination with RichText & UIStrokes?
Some devices might tend to have stronger effects, but I’m not sure
To try to replicate the effect, join our game & atleast 1080p (I use 1440p monitor)
& then open an UI Element e.g. Season Pass and shake your camera vigorously, it also sometimes happens when you walk around while the UI Element is open
Expected behavior
The stroke / text should not flicker when moving your camera
Entire characters may also randomly disappear in your video! Does this still happen if all the UIStrokes are disabled? Does it happen in a baseplate with this UI in it?
Very good info thank you.
Me & my friend have are used to use “TextScaled” for probably a decade now, so good to know.
With SurfaceGuis it should be simple to get rid of TextScaled & tune down quality a bit (however quite tedious after months into a project with dozens of them)
But BillboardGui & ScreenGuis, that’s a bit of a different story
Relying Offset/ AutomaticSize → results on undesired behavior in our project,
but maybe :GetPropertyChangedSignal("ViewportSize") could help
Also something I have to add is that I believe UIStrokes essentially double the ‘cost’ of rendered text in this budget. I say this partially because I’ve often seen this issue in cartoony games that make lots of use of UIStrokes, but also because I believe it is storing a second copy of the text, which is the stroke. I may be wrong though.
Also (as you may have seen) they mention lowering the PixelsPerStud and MaxDistance properties of billboard guis.
In the linked game specifically, maybe you could disable visibility of all text in the 3D space when a fullscreen UI is open, such as the season pass menu.
Hey Drew, wanted to give you a quick update if you are curious:
I’ve quickly disabled RichText for all BillboardGuis (TextLabels with UIStrokes)
→ This issue is now 95% better
It’s also what Dress To Impress, Murder Mystery 2, Pet Sim etc. do, I just wanted it to look better by having RichText + UIStrokes after Roblox allowed the capability, but it seems to be very very expensive renderwise atleast in BillboardGuis. (The small difference of RichText in that case is that the text won’t go smaller when you zoom your camera into the BillboardGui, as it else gets capped at 100 Pixels I believe & thus shrinks)
There is still room for improvement e.g. another 50-90%, but the effort for that would be quite high, as we have hundreds of SurfaceGuis
I also found out that a high end phone vs a low/mid range phone generally have the same amount of flicker. So text rendering capabilities seem to not really scale up that much and stay at a locked threshold