> 1) It's implemented in ctypes.  I'm not much of a fan of ctypes, as it 
> has the potential to segfault in nasty ways if the API changes in any 
> way from what was expected (which would normally be caught at compile 
> time in a C extension).  I'm also concerned about the overhead of 
> ctypes, given that there are already so many required optimizations in 
> the matplotlib freetype wrapper to make it fast enough.  But I'm willing 
> to hold judgement on that until some measurements have been made.
> 

I would never have thought ctypes would be a problem for speed/optimization and 
I never benchmarked the freetype-py. Not sure how to do that though.


> 2) It's not Numpy-aware.  For example, it loads image buffers into 
> regular Python lists.  This really should use Numpy for speed.

Yes, and I recently discovered it may make things really slow in some cases.


> 3) It exposes the fixed point numbers to Python as integers -- it should 
> really return all of these as floats -- the user shouldn't have to know 
> or remember which values are 16.16 and which are 24.8 etc.  It should 
> just give floats.  Double precision (with 52 bits in the mantissa) is 
> enough for any of these 32-bit fixed-point values. I think that's just a 
> remnant of older systems and needing to run on hardware without an FPU 
> that doesn't need to be brought forward into the Python wrapper.

You're right. I try to keep the very-low level to stick to the freetype 
implementation/type and the mid-level wrapper should use float everywhere (I 
may need to check that).


This + your comment on Google App Engine makes me think that freetype-py might 
not be so useful in the end. Anyway, I would gladly (try to) contribute to the 
new system.



Nicolas



------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to