On Jul 30, 2006, at 7:51 PM, Mathieu Bouchard wrote:
Speaking of which, I think that Pd looks worse on OSX than on
Linux, mainly due to anti-aliasing. All boxes look blurry and dim.
This is because the anti-aliasing is done without any kerning.
Kerning is the rounding of pixel positions done to minimize the
amount of anti-aliasing required. This is because raw anti-aliasing
always gives that blurry effect that tires the eye.
...it really depends on what tcl/tk version you are using...I believe
the current 8.4.13 is now fully using ATSUI font rendering, which
should solve the anti-aliasing/kerning problems...but, it is a work
in progress, and there aren't alot of eyeballs offering code...
...also wanted to point out that the point size/level at which anti- aliasing kicks in can be set in u_main.tk/pd.tk, around line 52:
# set minimum line size for anti-aliasing. If set to 1 or 0,
then every
# line will be anti-aliased. While this makes connections and
circles in
# [bng] and such look really good, it makes boxes and messages
look out of
# focus. Setting this to 2 makes it so the thick audio rate
connections
# are anti-aliased. hans@at.or.at 2005-06-09
set tk::mac::CGAntialiasLimit 2
...feel free to adjust to your preference...
About the speed: Tcl/Tk on OSX includes a fake X11 library which is
a translation layer so that Tk doesn't have to be rewritten for
OSX. That layer shouldn't take much CPU in theory, but I don't know
how it's been implemented. May someone who cares about OSX figure
out why that X11/OSX layer sucks. This problem is distinct from the
superfluous canvas redrawing that happens on all platforms, but the
two problems cumulate to create some kind of disaster.
...true, tk is emulating X11 calls on osx: unfortunately it was
originally done in QuickDraw, which was fine for the time, but really
started to fall to the side around 10.3, when Coregraphics/ATSUI/
Quartz/whatever rendering became "preferred"...It should be well
known that most of the canvas drawing in pd (lines, boxes, text) has
been converted to the newer API's, but there is still a hangup in
that we are now dealing with a tri/quad buffered drawing system!
Back in the day, one of Tk's innovations was double-buffered drawing,
which gave a smooth user experience that was rare for the
time...however, now we still have that behaviour, but also have in
OSX's aqua the entire window system being automatically double
buffered, so in effect we draw way too much! Awhile ago I started to
rip out the offscreen buffering in Tk so that everything was just
drawn directly to the window manager, but it was put on hold until
the ATSUI code was more finalized...
...luckily, we seem to be at a spot for another try, so maybe I can
find some time again...?
jamie