API Review RT:17407 Canvas Node

Pedro Duque Vieira pedro.duquevieira at gmail.com
Wed Apr 25 14:44:10 PDT 2012

Ok, that was an example.. Not easy to come up with one in a small email
message. I'll do another one: suppose you want to draw the stroboscopy of a
moving object (look at the bouncing ball picture at
https://mail.google.com/mail/?shva=1#inbox/136e5072504853e0) - this is not
a far fetched example I actually will need this in an app I'm doing.
Currently you may have to create thousands of nodes, but with the canvas
node you could simply copy and paste an image of the node various times.

Correct me if I'm wrong but my basic premise is that whenever you have to
have several equal representations of a node on the scene graph, you would
do better by using immediate mode rendering and copy pasting the image
several times.

I have a doubt though, that relates to my grid example, if I want to draw a
line chart with thousands of lines which is better: using immediate mode
through the canvas node, or a path node?

Thanks for the correction, cheers,
No dia 25 de Abr de 2012 21:01, "Richard Bair" <richard.bair at oracle.com>

> Nah, the way to do this is with a single Path node. Just do a series of
> line-to and move-to. No need to use either canvas or rectangles.
> Richard
> On Apr 24, 2012, at 8:45 AM, Pedro Duque Vieira wrote:
> >>
> >> Regardless of how the implementation discussion ends up, the driving
> >> question should be what do developers expect a 2D Canvas to do? I think
> of
> >> things like photoshop, Illustrator, 8 bit arcade games, animations, 2D
> >> apps, Flow chart designers and the like.
> >
> >
> > Actually there is another scenario which might be common to several types
> > of apps.
> > An example: imagine your app has a background like a grid and the grid
> > spacing might change dynamically. If you create this grid right now you
> > might have to instantiate thousands of rectangle nodes (each rectangle
> > being a grid square) which will degrade performance severely and also
> > memory consumption.
> > But if you use something like a Canvas node as the background grid,
> > everything will be much better.
> >
> > Cheers,
> >
> > --
> > Pedro Duque Vieira

More information about the openjfx-dev mailing list