Here numbers from Windows/Linux,
scrolling the Guide, in sec:
Qt4.1.3, release,
Linux no anti-al.: 19
Linux with anti-al.: 25
Windows 2k : 30
LyX 1.3.6, Qt 3.3.4
Linux no anti-al.: 6-7
Linux with anti-al.: 6-7
Is 1.5 so slow only because of Qt
or are there also changes of LyX
responsible for?
Looking at the profiling times I think
by a better buffering QPainter, QBrush,
and QPen we can get a a bit without to
much changes:
QPainter::QPainter, 0.828970
QBrush::init, 0.537057
QBrush::cleanUp, 0.520920
QPainter::~QPainter, 0.421153
QPen::operator=, 0.221603
QPen::QPen, 0.200135
Maybe someone has an idea when looking
at the Lyx functions (do we really
need so much libintl_dcigettext calls?)
Regards,
Peter
Name, Self visit time (all times <
-Modules, 42.530127
-QtGui4.dll (SymExport), 18.157461
QPainter::drawTextItem, 3.968417
QPainter::drawPixmap, 1.599013
QPainter::drawRects, 1.450104
QPainter::begin, 1.413113
QPainter::QPainter, 0.828970
QBrush::init, 0.537057
QBrush::cleanUp, 0.520920
QPainter::~QPainter, 0.421153
QPainter::drawText, 0.395810
QTextEngine::itemize, 0.377406
QTextEngine::shapeText, 0.308763
QFontMetrics::~QFontMetrics, 0.288641
QFontDatabase::load, 0.225289
QPen::operator=, 0.221603
QPen::QPen, 0.200135
-lyx-qt4.exe (SymPdb), 16.780013
libintl_dcigettext, 1.313278
font_metrics::width, 1.129957
LyXText::rowBreakPoint, 0.931556
std::_Tree<>::find, 0.754323
QLFontInfo::width, 0.695605
LyXText::getFont, 0.550520
LyXText::singleWidth, 0.538811
Messages::Pimpl::get, 0.499412
Buffer::buildMacros, 0.399162
`anonymous namespace'::RowPainter::paintChars, 0.394294
FontLoader::fontinfo, 0.376991
Paragraph::isInset, 0.374556
LyXText::leftMargin, 0.336338
LyXText::setRowWidth, 0.303470
FontIterator::operator++, 0.287602
font_metrics::fontencoding, 0.263278
QLPainter::text, 0.256250
`anonymous namespace'::RowPainter::paintText, 0.213463
-GDI32.dll (SymExport), 4.005236
ExtTextOutW, 1.711761
BitBlt, 1.047380
GetGlyphOutlineW, 0.665150
SelectObject, 0.200804
-QtCore4.dll (SymExport), 3.587416
QEventDispatcherWin32::processEvents, 0.944141
qMalloc, 0.483785
qFree, 0.470048
QString::operator==, 0.113136