Re: MLTE Demo

From: Yung-Fong Tang (
Date: Mon Jan 31 2000 - 15:46:14 EST

Deborah Goldsmith wrote:

> on 1/29/2000 3:00 PM, Franko <> wrote:
> > Deborah Goldsmith skribis:
> >
> >> make a quick MLTE demo app available. Thank you, Marco!
> >
> > MLTE Demo takes an eternity to start. Is that because it is just a demo,
> > or does that depend on initialisation of ATSUI? Jean Michel at CMT
> > Development comments that "It seems that initialising ATSUI is still
> > taking very long and would represent a serious penalty for roman-language
> > PowerMail users if we had depended on ATSUI".
> On my 300 MHz G3, I timed it as between 12 and 16 seconds. I guess it
> depends on what your definition of "eternity" is.

That mean 36-48 seconds in a 100 M Hz machine, right ?

> Undoubtedly most of this time is building the font menu, especially if you
> have a lot of fonts (I have a hundred or so, for the tests above). This is
> something we know needs performance improvement. Initializing ATSUI itself
> takes just a couple of seconds.
> A workaround for now is to cache the font menu and rebuild it if the Fonts
> folder changes.

How can you know the font folder is changed or not ? DO you have a notificatoin
scheme ?

> AppleWorks uses this technique. The Kotoeri in OS 8.6-J had
> this same problem; it was fixed for Kotoeri in OS 9.0-J. OS 9.0 Language
> Kits has the 8.6 version of Kotoeri, so you'll still see this problem when
> Kotoeri is initialized for the very first time.
> Perhaps some of these developers would like to communicate directly with
> Apple, in particular with me, if they have suggestions for where ATSUI needs
> performance work? This is something we are in the process of doing right
> now. If no one gives us the information on what they consider too slow, it's
> not going to improve. I guess I don't understand why these comments aren't

> being sent to us.

I have send comment to Apple directly about the quality and performance ATAUI
for over one year. I have not get positive feedback from Apple so far.

Write some code to draw some text with 20 different font 10000 times. Do the
same thing with ATSUI and QuickDraw. What is the ratio ?

I think the performance problem of ATSUI fall into the following category-
1. Performance caused by different interface model-

ATSUI interface does not design to work will with old application. Basically,
there are no easy way to simply modify the rendering part of existing Mac
QuickDraw application or application code from other platform to support ATSUI.
Which mean there are no easy way to migrate old application code to support
ATSUI. ATSUI require you to build layout object, which is a higher level object
than the QuickDraw primitive operation. Because of this kind of NEW model, it is
very simple for any application to program in a way which use ATSUI in an
inefficient way. It assume everybody are willing to rearchitect their
application for ATSUI. It encourage NEW program instead of migration exisiting
code. It pay no attention about co-exist with old QuickDraw code. (Although, it
is possible to design it and co-exist with new QuickDraw code).

From my point of view. This is the same as QuickDraw GX. Apple folks definitely
did not learn from the falure of QuickDraw GX and redo the same mistake on ATSUI
again- except this time it use the same memory manager.

Deborah- Take the SampelText source code and try to migrate it to use ATSUI by
yourself. Feel the pain. Make sure you allow your new SimpleText can still use
QuickDraw if ATSUI is not present.

2. Performance in the average usage-
I think this is the most important part of performance. I have no big complain
about it. As you point out, font menu probably need some work. We have not use
the ATSUI font menu yet. So I cannot give you comment in here.

3. Performance in the worst case-

If you turn on the font fallback and let the ATSUI try every font, the
performance of hiting character which do not have any glyph in any font shold be
within reasonable time. It could be slow, but it should not be slow as freezing
the computer.

I once try to use ATSUI to render character for Mozilla. 256 code point at a
time and repeate 3 times in my test page. When we hit the testing page which
there are no font can render, it freeze my computer for > 2 minutes.

I am forced to not use ATSUI now unless I know the character I need to render is
gurantee can be displayed with a font. I have no way to do this now in ATSUI and
are forced to use one pre-build hardcode table.

This area probably is not that important for other applicaiton. But for an
internet browser, we have to ensure web site server cannot attack the client
user by sending this kind of page which will virtually freeze the computer.

> Deborah Goldsmith
> Manager, International Toolbox Group
> Apple Computer, Inc.

This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:20:58 EDT