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:

Reply via email to