It wasn't helpful that this method could either count all events or
only the events from a specific model.
Change-Id: I09dcb37edd3403a23f6ee9008fc71b6761aa9e26
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
If we take longer than a frame for painting a pass we don't really gain
anything.
Change-Id: I6be5cc59116d3eb5d3ef6a863f4cf410333c7e91
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The QML canvas is notoriously bad at keeping its context around. This
workaround gives us a valid context in many of these cases.
Change-Id: I6c23aa2b44c10a48cdb89c66a2861ab8d31bcfc8
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
If there are too many events it takes too long to draw the overview.
By drawing only part of the events in each paint callback and
scheduling multiple paints we can mitigate that. The result is that a
rough outline is visible immediately and the details are filled in bit
by bit.
Task-number: QTCREATORBUG-12341
Change-Id: Id94d914e2926be01cb1635fbd8814c4d2f57d23b
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The context is stateful and there could be any kind of junk left in it.
In particular, the W3C spec says that it should be set up with a default
clipping path on creation, but it doesn't say what should happen if the
canvas is resized. Thus, we can never be sure that the clipping path is
sane.
Task-number: QTBUG-38297
Change-Id: If04597234e71574573888ce14deac5cf50df4a3f
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
As most of the numbers involved are single precision floats rounding
errors can easily lead to such numbers. Instead of ignoring it set the
range to the smallest allowable value.
Task-number: QTCREATORBUG-11879
Change-Id: If8d08b27cc9e4cf2a63ff4973f519b0d3363178d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This is insignificant at lower zoom levels but becomes really annoying
when closer to the 500ns limit.
Task-number: QTCREATORBUG-11879
Change-Id: Ide0069f7c6b135aa31262a4396559fa3ba89f8e3
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This prevents some overflows when zooming into the timeline.
Task-number: QTCREATORBUG-11879
Change-Id: I968c4737af8c64798d196a1463268d86146864e7
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Several QML properties need extra treatment to avoid stale data
after clearing. Toggling the visibility of the timeline renderer
doesn't really help there.
Task-number: QTCREATORBUG-11833
Change-Id: I1903d7bd69d6fe31ecc4cadca8e30fa2104fa09a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The documentation indicates that onPaint can actually be called
while the context isn't ready.
Change-Id: I32d861e016e5e990f3d940a35ec28956902041ba
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The canvas integrated in QtQuick does the same thing. We can remove a
lot of code like this.
Change-Id: I6425ae4e1b542107defd9d76fa5755712a0f8613
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Smaller ranges shouldn't be useful for anything but create rounding
errors all over the place.
Task-number: QTCREATORBUG-10880
Change-Id: I5cf5e2c08b5cae676717ba8ada1cddee4523c399
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The left handle of the range mover element didn't properly follow
the mouse movement. Also, a lot of code is duplicated between
RangeMover and SelectionRange. This change prepares RangeMover for
being reused in SelectionRange by eliminating external
dependencies.
Task-number: QTCREATORBUG-10762
Change-Id: Ia3b83101263e7af8ed46e1aaf4e92654b0068861
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The code of the qmlprofiler client has become a bit too complex,
this patch reorganizes the modules in a more sensible way,
having the modules communicate with each other through a
state machine instead of the excess of signals and slots
from before.
Change-Id: I76f7313779888a1bd07a1cdb1acbf2e47aacf42a
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
also
QmlProfiler: refactor eventlist state
If unexpected data is received, assuming server stopped profiling.
Also, introducing a eventlist state instead of relying on
signals sent around. This is part of a coming bigger patch
where the profiler client is refactored.
Change-Id: Ibed9007903956daf03cc0fcb90f77b5ad2d3cf90
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>