You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Om <bi...@gmail.com> on 2012/11/04 13:16:34 UTC

Re: Flex Charts using Starling

On Tue, Oct 23, 2012 at 12:12 PM, Alex Harui <ah...@adobe.com> wrote:

> Also, Stage3D isn't in the display list, so other visuals can't be put
> behind it.
>
>
I ran into this issue pretty quickly.  Right now my frame of mind is to
create a component with backgroundAlpha set to 0.  There could be a way to
selectively mask out areas on a flex application where we want to show
Stage3D/Starling objects.  Long term, we might have to fiddle with
SystemManager to handle DisplayObjects and Stage3D objects seamlessly so
that they dont overlap.  I have no idea if this is possible or not.  Any
thoughts?


And I think you have to handle interaction differently.


I havent gotten to adding interactions.  I guess you mean tooltips,
datatips, etc.  If not, can you please elaborate?


> On 10/23/12 12:07 PM, "Nicholas Kwiatkowski" <ni...@spoon.as> wrote:
>
> > Only thing I can think of off the top of my head is that Stage3D support
> > for mobile is still spotty at best.  This would also require us to
> target a
> > newer swfversion, which may have other repercussions I'm not thinking of.
> >
>

Yup, I had to bump up the swf-version to 13 to see Stage3D content.  What
is the Flex 4.8 at?



>  > -Nick
> >
>


On Tue, Oct 23, 2012 at 12:09 PM, Stefan Horochovec <
stefan.horochovec@gmail.com> wrote:

> Om,
>
> I'm analyzing the FeathersUI a few days and one of the first ideas I had on
> was just supplement it with graphics.
>


FeathersUI looks pretty impressive, but right now hooking it up inside a
Flex app is not too straightforward.  But I am continuing to to study this
framework because it looks very well done.

The biggest problem with FeathersUI/Starling is that everything is bitmap
based and you can, at best, draw Quads on the screen.  Flex components,
especially Charts require a very good set of drawing API which Starling
currently lacks.

I spent some time writing some low level drawing API based on this tutorial
[1]  But luckily, I quickly discovered
the Starling-Extension-Graphics library that mirrors flash.display.Graphics
to quite an extent.  It is available here [2]  I am currently using this
extension to try and draw some simple Chart types.  After that I will try
to hook them up with dataproviders that can be passed through the normal
Flex lifecycle.


>
> However, right now, I believe that this implementation would be only a
> proof of concept about using FeathersUI to "complement" the FlexSDK to
> these changes in AVMNext.
>


Note that my goal is to make Starling based charts in Flex in the current
virtual machine using an already shipped version of the Flash Player.  We
have no idea what AVMNext is going to look like.  But I agree that this
could be a good start if someone were willing to go that route in future.


>
> But I'm willing to collaborate in order to make this tests on Stage3D for
> developing comercial apps. I also believe that this the moment to propose
> new visual layouts for our charts.



I would love your involvement.  I am planning to check in my experiments
into my whiteboard space here [3] soon

Thanks,
Om

[1] http://wiki.starling-framework.org/manual/custom_display_objects
[2] https://github.com/unwrong/Starling-Extension-Graphics
[3] https://svn.apache.org/repos/asf/incubator/flex/whiteboard/bigosmallm

Re: Flex Charts using Starling

Posted by Tomislav Pokrajcic <to...@svemir.net>.
Scrolling would also bring a number of issues here.
It would be easy to make a proof of concept, but there would be so many 
different cases to patch.

On 5.11.2012. 1:04, Alex Harui wrote:
>
>
> On 11/4/12 3:16 AM, "Om" <bi...@gmail.com> wrote:
>
>> On Tue, Oct 23, 2012 at 12:12 PM, Alex Harui <ah...@adobe.com> wrote:
>>
>>> Also, Stage3D isn't in the display list, so other visuals can't be put
>>> behind it.
>>>
>>>
>> I ran into this issue pretty quickly.  Right now my frame of mind is to
>> create a component with backgroundAlpha set to 0.  There could be a way to
>> selectively mask out areas on a flex application where we want to show
>> Stage3D/Starling objects.
> Yup, masks and backgroundAlpha=0 and other tricks can poke a hole, but add
> complexity.  Think of how much trickery is required to display a chart in a
> popup!  Is Stage3D so much faster that you really need that complexity?  Or
> is it the Charts ActionScript code itself that is too slow? Does [render]
> really show up in the profiler for a Chart?
>
> You also have the option to constrain the use case to scenarios that don't
> have any chance of overlap like individual mobile app screens where things
> generally don't popup (well, maybe they do on tablets...).
>
>> Long term, we might have to fiddle with
>> SystemManager to handle DisplayObjects and Stage3D objects seamlessly so
>> that they dont overlap.  I have no idea if this is possible or not.  Any
>> thoughts?
> It is probably possible, but may not be practical in the general case.  I
> think you'll run into edge cases that are really hard (dropshadows from
> components alongside the chart that overlap it slightly).
>>
>> And I think you have to handle interaction differently.
>>
>>
>> I havent gotten to adding interactions.  I guess you mean tooltips,
>> datatips, etc.  If not, can you please elaborate?
> Yeah, like datatips.  I haven't used stage3D myself, but I think the mouse
> event model is different there.
>


Re: Flex Charts using Starling

Posted by Alex Harui <ah...@adobe.com>.


On 11/4/12 3:16 AM, "Om" <bi...@gmail.com> wrote:

> On Tue, Oct 23, 2012 at 12:12 PM, Alex Harui <ah...@adobe.com> wrote:
> 
>> Also, Stage3D isn't in the display list, so other visuals can't be put
>> behind it.
>> 
>> 
> I ran into this issue pretty quickly.  Right now my frame of mind is to
> create a component with backgroundAlpha set to 0.  There could be a way to
> selectively mask out areas on a flex application where we want to show
> Stage3D/Starling objects.
Yup, masks and backgroundAlpha=0 and other tricks can poke a hole, but add
complexity.  Think of how much trickery is required to display a chart in a
popup!  Is Stage3D so much faster that you really need that complexity?  Or
is it the Charts ActionScript code itself that is too slow? Does [render]
really show up in the profiler for a Chart?

You also have the option to constrain the use case to scenarios that don't
have any chance of overlap like individual mobile app screens where things
generally don't popup (well, maybe they do on tablets...).

> Long term, we might have to fiddle with
> SystemManager to handle DisplayObjects and Stage3D objects seamlessly so
> that they dont overlap.  I have no idea if this is possible or not.  Any
> thoughts?
It is probably possible, but may not be practical in the general case.  I
think you'll run into edge cases that are really hard (dropshadows from
components alongside the chart that overlap it slightly).
> 
> 
> And I think you have to handle interaction differently.
> 
> 
> I havent gotten to adding interactions.  I guess you mean tooltips,
> datatips, etc.  If not, can you please elaborate?
Yeah, like datatips.  I haven't used stage3D myself, but I think the mouse
event model is different there.

-- 
Alex Harui
Flex SDK Team
Adobe Systems, Inc.
http://blogs.adobe.com/aharui