[squeak-dev] Vector Graphics (was: Pi performance fun)

Igor Stasenko siguctua at gmail.com
Tue May 28 20:55:29 UTC 2013


On 28 May 2013 21:19, Jeff Gonis <jeff.gonis at gmail.com> wrote:
> Hi Everyone,
>
> Regarding vector graphics in squeak I believe that VPRI has been
> experimenting with Nile and Gezira as a method of getting compact
> vector graphics into their "Frank" system.
>
> Bert released packages that can be used to generate a VM with support
> for Nile and Gezira, and I have use these to compile one.  I was able
> to play around and experiment with nicely anti-aliased graphics while
> developing in the live style that I enjoy so much.
>
> I also grabbed a Pharo VM and played with Athens a bit this morning.
>
> So my gut would say that there are two choices before us: Adopt the
> work that Pharo is doing with Athens, or go with the VPRI Gezira work.
>  Below is a list of (IMO) pros and cons for each approach.  I would be
> curious what other people think.
>
> Pros for Athens:
> - Relies on Cairo which is developed by a large outside group
> - Cairo appears to be relatively high performance
> - PDF support allows for easily printable image/document creation
> - Has dedicated development from the Pharo community
>
> Cons for Athens:
> - Cairo is pretty complex if we want to ever patch or fix anything
> - Relies on NativeBoost enabled VMs which are not the VMs that Eliot
> provides and I believe these need pharo specific image-side code at
> this point
>
Some clarification:

There's also balloon backend for Athens (yes, as an attempt to use
existing VM functionality
it is of course not nearly as fast as cairo, and lack functionality.. but ..)

Cairo is just one of the backends
it uses for rendering. Give it more time, i would implement Quartz
backend on mac
as well as opengl backend.
The point is, that Athens provides own API for applications, so that
gives you guarantee
that your application will continue working, no matter what is used
underneath (cairo or something else).

> Pro for Gezira:
> - Very small and compact logic, does have ramp up time but would be
> much easier to modify than ~100,000 lines of cairo code
> - Used by VPRI for "Frank" so it is being used in a system of complexity
> - Seemed to have a pretty decent API from what I could understand
>
> Cons for Gezira:
> - At this point the product of one man (Dan Amelang) or possibly one
> research group (VPRI)
> - Unknown performance relative to other libraries like Cairo.  Maybe
> Bert can chime in here.
> - Unknown support for PDF and other image types.
> - Diverges from Pharo, so could split the community unnecessarily.
>
> Anyway, I think that getting high quality vector graphics in Squeak
> would be a fantastic boon, as Squeak is such a graphical environment
> and live coding with Morphs is great right up until you see chunky
> aliased lines on your canvas.
>
> Thanks for your time,
> Jeff
>



-- 
Best regards,
Igor Stasenko.


More information about the Squeak-dev mailing list