[squeak-dev] Vector Graphics (was: Pi performance fun)
Jeff Gonis
jeff.gonis at gmail.com
Tue May 28 19:19:53 UTC 2013
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
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
More information about the Squeak-dev
mailing list
|