Canvas rendering issues / Text Transition rendering issues
philip.race at oracle.com
Wed Jan 2 16:54:53 PST 2013
On 1/2/13 4:13 PM, Daniel Zwolenski wrote:
> One of the goals of Richard's Tower Defender game is to test/showcase
> rendering performance and smoothness. The game is still very very ugly and
> basic but we have added some transitions and also included a Canvas
> background and we are starting to see some serious rendering issues.
> Richard probably hasn't a chance to look at these much yet so he may have
> more insight but it would be interesting to hear comments from others on
> what may be causing these issues (e.g. code in our end or code in the JFX
> end) and how to deal with them.
> There is an executable JAR of the (still very ugly game) at:
> All the code is at: https://bitbucket.org/rbair/fx-games/src (I can narrow
> down further to areas of interest if you need it - just ask).
> When the game first loads we show an animated 'introduction' screen that
> has some basic Text transitions on it. This has some issues:
> - The first title text is very jittery as it zooms in
> - The tag line that fades in does a noticeable, sudden jump at the end
> from what looks like a bolder font to a thin one (or anti-aliased or
> - The spinning text has a similar combination of the previous two issues
If I understand your sources this part of the app (WelcomePanel.java)
isn't using Canvas
And it looks as if you are using a Label control, rather than a Text node.
The former (any UI control) will default to LCD on Windows and that's not
very animation friendly. So set the fontSmoothingType to GRAY for anything
you want to animate and see if that helps.
> We have also added a Canvas as a background for the game in the 'grass'
> level (the 'brick' level uses a Pane as a background) and it has resulted
> in all sorts of odd problems. The canvas level has some pretty serious
> - Towers (nodes) have some z-order issues when being placed before
> animations start
> - Bad Guys (nodes) rendering outside of their parents clip bound's and
> then tend to leave a tail behind them (i.e. the back-buffer is not cleared
> or something)
> - Lots of flickering of Bad Guys when they are animating (again looks
> like z-order issues)
> - Putting an overlayed light box with a translucent glass pane (click
> the 'New Game' button) causes all sorts of extreme, weird flickering and
> clipping problems
> Note that this could all be related to how we're using regions or something
> like that but even so it's pretty bad that we can make this happen even if
> we wanted to. The 'bricks' level uses a pane as it's background and works a
> treat with pretty much the exact same code.
More information about the openjfx-dev