On 09.06.2011 20:21, Peter Kümmel wrote:
On 09.06.2011 08:12, Stephan Witt wrote:
To investigate the recently mentioned scrolling problems I did some profiling
on my machine.
See http://www.mail-archive.com/lyx-users@lists.lyx.org/msg87278.html
Ok, it's a completely different environment (Mac, Qt-4.6-Cocoa, SVN-trunk)
but it's interesting too. To scroll with Page-Down through the Users Guide
completely
I have to wait appr. 20 or 30 seconds. Of course it's not pure text, there are
images,
tables and math. I did this twice. The first time with drawing of text
fragments and
the 2nd time with single character drawing.
While doing this I collected the time profile with Shark, the profiler tool of
Xcode.
The most interesting observation I've made is: most of the time LyX is busy
with other
things - not with screen drawing. The scroll operation cost is 5% for the first
and 15%
for the second variant of drawing.
The other things are thread and socket management and QProcess's doing.
Stephan
OK, it is Enrico's job to ask for, but could rerun the test with USE_QPROCESS
undefined?
Undefining USE_QPROCESS has no effect, tested it.
But I don't know how to interpret the profile.
Peter
* Overall summary:
40.6% libSystem.B.dylib thread_start
40.6% libSystem.B.dylib _pthread_start
23.4% CoreFoundation __CFSocketManager
17.2% QtCore QThreadPrivate::start(void*) { that's QProcess }
34.9% libSystem.B.dylib start_wqthread
24.4% LyX start { that's LyX's main }
0.0% libSystem.B.dylib exit
0.0% dyld _dyld_start
0.0% libSystem.B.dylib _exit
* Some excerpts (version A):
5.5% QtGui QAbstractScrollArea::event(QEvent*)
3.7% LyX lyx::frontend::WorkAreaManager::redrawAll(bool)
1.0% LyX lyx::Buffer::updateMacros() const
2.5% LyX lyx::frontend::GuiView::loadDocument(lyx::support::FileName
const&, bool)
* Some excerpts (version B):
14.4% QtGui QAbstractScrollArea::event(QEvent*)
12.0% LyX lyx::frontend::WorkAreaManager::redrawAll(bool)
1.3% LyX lyx::Buffer::updateMacros() const
* The more detailed reports: