On Mon, Nov 14, 2016 at 7:03 PM, Hermet Park <her...@hermet.pe.kr> wrote:
> As considering further, we'd rather avoid path interface for the optimization 
> point.

I don't see any performance issue as most of the math and cost is into
the computation of the curve not setting a string/combo of command,
but maybe you have some benchmark in that regard ? I haven't looked at
any benchmark on our current vector stack, so you might well be right.

> Current downside of the evas_vg, it needs to copy the path data to the ector, 
> since both ector and evas_vg inherit gfx_shape.

Yes, it does copy a list of command and point with two arrays if I
remember correctly. Those array are pretty small and shouldn't become
that huge. If you think it might become a concern at some point, maybe
we can introduce a structure in Eina that does refcounting, allocation
and destruction (Something Eina_Safepointer should be ble to do, I
guess). No need for the path primitive to be there.

> But If the path is an independent instance,
> it's possible that evas_vg just pass the path instance to the ector with the 
> ref count increase.
> Plus, ector and evas_vg track the path changes flexibly.

See above proposal, that address your problem without putting pressure
on the binding generation and increasing the mess to much in eina

> Additionally, user just need to set one path data for several vg objects if 
> those vg objects may need to have same path information.

I guess, but is that a common pattern ?

> So, again, I aim to Eina again.
>
> What do you think?

As above, add arrays to a structure managed by an opaque
Eina_Safepointer that is shareable among instance of efl_gfx_path.eo.
-- 
Cedric BAIL

------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to