[prev in list] [next in list] [prev in thread] [next in thread]
List: freetype
Subject: Re: [Freetype] glyph caching
From: Leonard Rosenthol <leonardr () digapp ! com>
Date: 2000-11-22 14:54:11
[Download RAW message or body]
At 12:58 PM +0200 11/22/00, George Petrov Georgiev wrote:
>freetype is too slow for direct rendering of each char in the text,
>without any chaching.
True, but it's not just FreeType - it's ANY
vector/outline-based type engine. (you don't really think that Mac
OS and Windows (for example) don't do caching, do you??)
>I can spend 10~15Mb for glyph->bitmap cache for gaining 20-30 times faster
>text layouting. Is this a dream? I think that itsn't :).
Nope, caching the bitmaps (and even the font information) is
the right approach to the problem. I do this two applications of
mine that use FreeType, and it noticeably improves performance -
though I don't know if it's 20-30x. It's really going to depend on
the text in question. Rendering lots of the same character in the
same font/face will certainly improve, but text in lots of
fonts/faces with different characters won't (since it's still going
to have to raster them at least once).
If you are looking for a glyph cache implementation, check
out rsvg-ft.c, which is part of librsvg which is part of nautilus
which is part of GNOME.
(<http://cvs.gnome.org/registry/file.cgi?cvsroot=/cvs/gnome&file=rsvg-ft.c&dir=nautilus/librsvg>)
>Don't ask me why I
>don't render all needed fonts and sizes in advance, if and I want to have a
>so fast engine :).
I don't believe that this will actually speed things up any
more than a "cache as you go" scheme (and might actually make total
processing slower) since the delay is the first rasterization not
secondary ones, and a "cache as you go" would only rasterizer USED
glyphs, rather than every glyph (which can be expensive time wise).
Leonard
--
----------------------------------------------------------------------------
Leonard Rosenthol <mailto:leonardr@digapp.com>
Sr. Software Engineer (215) 922-3509 (voice)
Digital Applications (215) 440-0504 (fax)
PGP Fingerprint: 8CC9 8878 921E C627 0BC1 15BB FC19 64A9 0016 1397
_______________________________________________
Freetype mailing list
Freetype@freetype.org
http://www.freetype.org/mailman/listinfo/freetype
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic