>>>>> "Bennett" == Bennett Helm <[EMAIL PROTECTED]> writes:
Bennett> I've posted a new profile Bennett> (<http://edisk.fandm.edu/bennett.helm/LyX/shark-profile-5.txt.zip>) Bennett> that took longer: I typed for about 1 minute, waited for LyX Bennett> to catch up, and stopped profiling. The drawing part of the profile can be summarized as follows: + 74.1% QFontEngineMac::doTextTask(QChar const*, int, int, int, unsigned char, int, int, QPaintDevice*, QRegion const*) const (lyx) | + 53.3% QFontEngineMac::draw(QPainter*, int, int, QTextEngine const*, QScriptItem const*, int) (lyx) | | + 53.0% QPainter::drawText(int, int, QString const&, int, int, QPainter::TextDirection) (lyx) | | | + 53.0% QPainter::drawText(int, int, QString const&, int, QPainter::TextDirection) (lyx) | | + 0.3% QPainter::drawTextItem(int, int, QTextItem const&, int) (lyx) | + 20.8% QFontMetrics::width(QChar) const (lyx) | | + 19.9% QLFontInfo::width(unsigned short) const (lyx) | | | + 16.6% LyXText::singleWidth(Paragraph const&, int, char, LyXFont const&) const (lyx) | | | + 3.3% font_metrics::width(char const*, unsigned long, LyXFont const&) (lyx) | | | + 0.0% (anonymous namespace)::RowPainter::paintChars(int&, LyXFont, bool, bool) (lyx) | | + 0.9% LyXText::singleWidth(Paragraph const&, int, char, LyXFont const&) const (lyx) So drawing is more expensive than finding char width (especially when considering that a fair amount of width call are generated by QLPainter::text). JMarc