Version: (using KDE KDE 3.4.1) Installed from: Gentoo Packages Konqueror has a performance problem on some pages on Czech Linux portal abclinuxu.cz. Majority of pages has no problem, but there are some strange: http://www.abclinuxu.cz/forum/show/92887 http://www.abclinuxu.cz/forum/show/89011 http://www.abclinuxu.cz/forum/show/77095 http://www.abclinuxu.cz/blog/Yeti/2005/9/7/100663 Reading of this pages in Konqueror is misery. Konqueror has a big cpu load (Athlon XP1500+) and rendering time is too big. But there are some long discussions, which are alright. http://www.abclinuxu.cz/forum/show/98597 http://www.abclinuxu.cz/forum/show/86774 http://www.abclinuxu.cz/blog/miblog/2005/7/5/93226 I have to use Opera, or Firefox for these pages, but I'd like to use Konqueror everywhere. This problem has been reported on discussion forum http://www.abclinuxu.cz/forum/show/92934 (czech), but with no result.
hmm, appears to be stuck in some renderer code; need to re-check on the machine with the debug build, though 0 0xb746c69c in QChar::category () from /opt/kde3.5/lib/libqt-mt.so.3 #1 0xb6455923 in khtml::appendRun () from /opt/kde3.5/lib/libkhtml.so.4 #2 0xb64565dd in khtml::RenderBlock::bidiReorderLine () from /opt/kde3.5/lib/libkhtml.so.4 #3 0xb6459ffd in khtml::RenderBlock::layoutInlineChildren () from /opt/kde3.5/lib/libkhtml.so.4 #4 0xb6461f88 in khtml::RenderBlock::layoutBlock () from /opt/kde3.5/lib/libkhtml.so.4 #5 0xb64624e1 in khtml::RenderBlock::layout () from /opt/kde3.5/lib/libkhtml.so.4 #6 0xb6461b0e in khtml::RenderBlock::layoutBlockChildren () from /opt/kde3.5/lib/libkhtml.so.4 #7 0xb646220f in khtml::RenderBlock::layoutBlock () from /opt/kde3.5/lib/libkhtml.so.4 #8 0xb64624e1 in khtml::RenderBlock::layout () from /opt/kde3.5/lib/libkhtml.so.4 #9 0xb6461b0e in khtml::RenderBlock::layoutBlockChildren () from /opt/kde3.5/lib/libkhtml.so.4 #10 0xb646220f in khtml::RenderBlock::layoutBlock () from /opt/kde3.5/lib/libkhtml.so.4 #11 0xb64624e1 in khtml::RenderBlock::layout () from /opt/kde3.5/lib/libkhtml.so.4 #12 0xb6461b0e in khtml::RenderBlock::layoutBlockChildren () from /opt/kde3.5/lib/libkhtml.so.4 #13 0xb646220f in khtml::RenderBlock::layoutBlock () from /opt/kde3.5/lib/libkhtml.so.4 #14 0xb64624e1 in khtml::RenderBlock::layout () from /opt/kde3.5/lib/libkhtml.so.4 #15 0xb6461b0e in khtml::RenderBlock::layoutBlockChildren () from /opt/kde3.5/lib/libkhtml.so.4 #16 0xb646220f in khtml::RenderBlock::layoutBlock () from /opt/kde3.5/lib/libkhtml.so.4 #17 0xb64624e1 in khtml::RenderBlock::layout () from /opt/kde3.5/lib/libkhtml.so.4 #18 0xb6461b0e in khtml::RenderBlock::layoutBlockChildren () from /opt/kde3.5/lib/libkhtml.so.4 #19 0xb646220f in khtml::RenderBlock::layoutBlock () from /opt/kde3.5/lib/libkhtml.so.4 #20 0xb64624e1 in khtml::RenderBlock::layout () from /opt/kde3.5/lib/libkhtml.so.4 #21 0xb6461b0e in khtml::RenderBlock::layoutBlockChildren () from /opt/kde3.5/lib/libkhtml.so.4 #22 0xb646220f in khtml::RenderBlock::layoutBlock () from /opt/kde3.5/lib/libkhtml.so.4 #23 0xb64624e1 in khtml::RenderBlock::layout () from /opt/kde3.5/lib/libkhtml.so.4 #24 0xb645db6e in khtml::RenderBlock::collapseMargins () from /opt/kde3.5/lib/libkhtml.so.4 #25 0xb6461b23 in khtml::RenderBlock::layoutBlockChildren () from /opt/kde3.5/lib/libkhtml.so.4 #26 0xb646220f in khtml::RenderBlock::layoutBlock () from /opt/kde3.5/lib/libkhtml.so.4 #27 0xb64624e1 in khtml::RenderBlock::layout () from /opt/kde3.5/lib/libkhtml.so.4 #28 0xb6461b0e in khtml::RenderBlock::layoutBlockChildren () from /opt/kde3.5/lib/libkhtml.so.4 #29 0xb646220f in khtml::RenderBlock::layoutBlock () from /opt/kde3.5/lib/libkhtml.so.4 #30 0xb64624e1 in khtml::RenderBlock::layout () from /opt/kde3.5/lib/libkhtml.so.4 #31 0xb645db6e in khtml::RenderBlock::collapseMargins () from /opt/kde3.5/lib/libkhtml.so.4 #32 0xb6461b23 in khtml::RenderBlock::layoutBlockChildren () from /opt/kde3.5/lib/libkhtml.so.4 #33 0xb646220f in khtml::RenderBlock::layoutBlock () from /opt/kde3.5/lib/libkhtml.so.4 #34 0xb64624e1 in khtml::RenderBlock::layout () from /opt/kde3.5/lib/libkhtml.so.4 #35 0xb6461b0e in khtml::RenderBlock::layoutBlockChildren () from /opt/kde3.5/lib/libkhtml.so.4 #36 0xb646220f in khtml::RenderBlock::layoutBlock () from /opt/kde3.5/lib/libkhtml.so.4 #37 0xb64624e1 in khtml::RenderBlock::layout () from /opt/kde3.5/lib/libkhtml.so.4 #38 0xb645db6e in khtml::RenderBlock::collapseMargins () from /opt/kde3.5/lib/libkhtml.so.4 #39 0xb6461b23 in khtml::RenderBlock::layoutBlockChildren () from /opt/kde3.5/lib/libkhtml.so.4
The same problem occurs in version 3.3.2 on Debian Testing
I can confirm, Konqueror 3.4.2 on Mandriva 2006 beta
Same on Konqueror 3.5.0 @ Gentoo 2005.1
i didn't have any problems on the first link ( http://www.abclinuxu.cz/forum/show/92887), but I confirm for the second (http://www.abclinuxu.cz/forum/show/89011) on Konqueror 3.5 on KDE 3.5.0 using Gentoo
Konq. 3.5.1 -- same thing.
With Konqueror 3.5 on Mandriva ... http://www.abclinuxu.cz/forum/show/92887 - shows empty window (tab) for several seconds with CPU at 100% http://www.abclinuxu.cz/forum/show/89011 - Konqueror freezes for several minutes with CPU at 100% http://www.abclinuxu.cz/forum/show/77095 - same as the first http://www.abclinuxu.cz/blog/Yeti/2005/9/7/100663 - the link does not work
> http://www.abclinuxu.cz/blog/Yeti/2005/9/7/100663 - the link does not work Well, it doesn't work in any browser. Not really a Konq. problem...
http://en.wikipedia.org/wiki/Wikipedia:Babel cpu at 100% and Konqueror is very non-snappy.
At least the last wikipedia.org link is caused by some extremely expensive calls to QFontMetrics::width()
SVN commit 552677 by ggarand: avoid triggering a cascade of pointless relayouts when invalidating floats. BUG: 112231 M +2 -2 render_block.cpp M +3 -1 render_object.cpp --- branches/KDE/3.5/kdelibs/khtml/rendering/render_block.cpp #552676:552677 @@ -1221,7 +1221,7 @@ // change (because it has more available line width). // So go ahead and mark the item as dirty. child->setChildNeedsLayout(true); - if (child->hasFloats()) + if (!child->flowAroundFloats() && child->hasFloats()) child->markAllDescendantsWithFloatsForLayout(); if (child->containsPageBreak()) child->setNeedsLayout(true); @@ -2420,7 +2420,7 @@ void RenderBlock::markAllDescendantsWithFloatsForLayout(RenderObject* floatToRemove) { - setNeedsLayout(true); + setChildNeedsLayout(true); if (floatToRemove) removeFloatingObject(floatToRemove); --- branches/KDE/3.5/kdelibs/khtml/rendering/render_object.cpp #552676:552677 @@ -1531,8 +1531,10 @@ p = p->containingBlock(); } - if (outermostBlock) + if (outermostBlock) { + outermostBlock->setNeedsLayout(true); outermostBlock->markAllDescendantsWithFloatsForLayout(this); + } } if (isPositioned()) {
SVN commit 553287 by ggarand: a tad safer version repaint wise, of #112231 fix. not sure if it matters, just not taking the chance. CCBUG: 112231 M +1 -0 render_block.cpp M +1 -3 render_object.cpp --- branches/KDE/3.5/kdelibs/khtml/rendering/render_block.cpp #553286:553287 @@ -2420,6 +2420,7 @@ void RenderBlock::markAllDescendantsWithFloatsForLayout(RenderObject* floatToRemove) { + dirtyFormattingContext(false); setChildNeedsLayout(true); if (floatToRemove) --- branches/KDE/3.5/kdelibs/khtml/rendering/render_object.cpp #553286:553287 @@ -1531,10 +1531,8 @@ p = p->containingBlock(); } - if (outermostBlock) { - outermostBlock->setNeedsLayout(true); + if (outermostBlock) outermostBlock->markAllDescendantsWithFloatsForLayout(this); - } } if (isPositioned()) {
Yeah, this seems to be fixed in konqueror 3.5.4 :D
Yes, Konqueror 3.5.4 works fine :-). Many thanks for your great work!