aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@digia.com>2014-08-29 19:31:23 +0200
committerUlf Hermann <ulf.hermann@digia.com>2014-09-29 14:07:42 +0300
commitf70cbad9b18757848888ac7d8d4af4349d606fa2 (patch)
tree1de89c894a203d919bf596d4a7326500c7658dc2
parent009b1bd437e7bd6ed454d9a00046a0afe1127316 (diff)
Store typeIds in range data
Change-Id: I09e9481296cbd0429858df893de902c63891b430 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
-rw-r--r--plugins/qmlprofilerextension/memoryusagemodel.cpp4
-rw-r--r--plugins/qmlprofilerextension/pixmapcachemodel.cpp16
-rw-r--r--plugins/qmlprofilerextension/scenegraphtimelinemodel.cpp59
3 files changed, 47 insertions, 32 deletions
diff --git a/plugins/qmlprofilerextension/memoryusagemodel.cpp b/plugins/qmlprofilerextension/memoryusagemodel.cpp
index 3421eb567e..e61ee36683 100644
--- a/plugins/qmlprofilerextension/memoryusagemodel.cpp
+++ b/plugins/qmlprofilerextension/memoryusagemodel.cpp
@@ -219,7 +219,7 @@ void MemoryUsageModel::loadData()
insertEnd(currentUsageIndex,
event.startTime - range(currentUsageIndex).start - 1);
}
- currentUsageIndex = insertStart(event.startTime);
+ currentUsageIndex = insertStart(event.startTime, event.typeIndex);
d->data.insert(currentUsageIndex, allocation);
}
}
@@ -242,7 +242,7 @@ void MemoryUsageModel::loadData()
if (currentJSHeapIndex != -1)
insertEnd(currentJSHeapIndex,
event.startTime - range(currentJSHeapIndex).start - 1);
- currentJSHeapIndex = insertStart(event.startTime);
+ currentJSHeapIndex = insertStart(event.startTime, event.typeIndex);
d->data.insert(currentJSHeapIndex, allocation);
}
}
diff --git a/plugins/qmlprofilerextension/pixmapcachemodel.cpp b/plugins/qmlprofilerextension/pixmapcachemodel.cpp
index 9a016e8a32..c41d4a1271 100644
--- a/plugins/qmlprofilerextension/pixmapcachemodel.cpp
+++ b/plugins/qmlprofilerextension/pixmapcachemodel.cpp
@@ -68,7 +68,7 @@ public:
void resizeUnfinishedLoads();
void flattenLoads();
int updateCacheCount(int lastCacheSizeEvent, qint64 startTime, qint64 pixSize,
- PixmapCacheEvent &newEvent);
+ PixmapCacheEvent &newEvent, int typeId);
QVector<PixmapCacheEvent> data;
QVector<Pixmap> pixmaps;
@@ -291,7 +291,8 @@ void PixmapCacheModel::loadData()
PixmapState &state = pixmap.sizes[newEvent.sizeIndex];
if (state.cacheState == ToBeCached) {
lastCacheSizeEvent = d->updateCacheCount(lastCacheSizeEvent, startTime,
- state.size.width() * state.size.height(), newEvent);
+ state.size.width() * state.size.height(), newEvent,
+ event.typeIndex);
state.cacheState = Cached;
}
break;
@@ -351,7 +352,7 @@ void PixmapCacheModel::loadData()
}
lastCacheSizeEvent = d->updateCacheCount(lastCacheSizeEvent, startTime, pixSize,
- newEvent);
+ newEvent, event.typeIndex);
break;
}
case PixmapLoadingStarted: { // Load
@@ -371,7 +372,7 @@ void PixmapCacheModel::loadData()
PixmapState &state = pixmap.sizes[newEvent.sizeIndex];
state.loadState = Loading;
- state.started = insertStart(startTime);
+ state.started = insertStart(startTime, event.typeIndex);
d->data.insert(state.started, newEvent);
break;
}
@@ -415,7 +416,8 @@ void PixmapCacheModel::loadData()
// If the pixmap loading wasn't started, start it at traceStartTime()
if (state.loadState == Initial) {
newEvent.pixmapEventType = PixmapLoadingStarted;
- state.started = insert(traceStartTime(), startTime - traceStartTime());
+ state.started = insert(traceStartTime(), startTime - traceStartTime(),
+ event.typeIndex);
d->data.insert(state.started, newEvent);
// All other indices are wrong now as we've prepended. Fix them ...
@@ -540,7 +542,7 @@ void PixmapCacheModel::PixmapCacheModelPrivate::flattenLoads()
}
int PixmapCacheModel::PixmapCacheModelPrivate::updateCacheCount(int lastCacheSizeEvent,
- qint64 startTime, qint64 pixSize, PixmapCacheEvent &newEvent)
+ qint64 startTime, qint64 pixSize, PixmapCacheEvent &newEvent, int typeId)
{
Q_Q(PixmapCacheModel);
newEvent.pixmapEventType = PixmapCacheCountChanged;
@@ -553,7 +555,7 @@ int PixmapCacheModel::PixmapCacheModelPrivate::updateCacheCount(int lastCacheSiz
}
newEvent.cacheSize = prevSize + pixSize;
- int index = q->insertStart(startTime);
+ int index = q->insertStart(startTime, typeId);
data.insert(index, newEvent);
return index;
}
diff --git a/plugins/qmlprofilerextension/scenegraphtimelinemodel.cpp b/plugins/qmlprofilerextension/scenegraphtimelinemodel.cpp
index 7d77c9cd65..fee5fa2d13 100644
--- a/plugins/qmlprofilerextension/scenegraphtimelinemodel.cpp
+++ b/plugins/qmlprofilerextension/scenegraphtimelinemodel.cpp
@@ -191,78 +191,91 @@ void SceneGraphTimelineModel::loadData()
case QmlDebug::SceneGraphRendererFrame: {
qint64 startTime = event.startTime - event.numericData1 - event.numericData2 -
event.numericData3 - event.numericData4;
- d->data.insert(insert(startTime, event.numericData1),
+ d->data.insert(insert(startTime, event.numericData1, event.typeIndex),
SceneGraphEvent(RenderPreprocess));
startTime += event.numericData1;
- d->data.insert(insert(startTime, event.numericData2), SceneGraphEvent(RenderUpdate));
+ d->data.insert(insert(startTime, event.numericData2, event.typeIndex),
+ SceneGraphEvent(RenderUpdate));
startTime += event.numericData2;
- d->data.insert(insert(startTime, event.numericData3), SceneGraphEvent(RenderBind));
+ d->data.insert(insert(startTime, event.numericData3, event.typeIndex),
+ SceneGraphEvent(RenderBind));
startTime += event.numericData3;
- d->data.insert(insert(startTime, event.numericData4), SceneGraphEvent(RenderRender));
+ d->data.insert(insert(startTime, event.numericData4, event.typeIndex),
+ SceneGraphEvent(RenderRender));
break;
}
case QmlDebug::SceneGraphAdaptationLayerFrame: {
qint64 startTime = event.startTime - event.numericData2 - event.numericData3;
- d->data.insert(insert(startTime, event.numericData2),
+ d->data.insert(insert(startTime, event.numericData2, event.typeIndex),
SceneGraphEvent(GlyphRender, event.numericData1));
startTime += event.numericData2;
- d->data.insert(insert(startTime, event.numericData3),
+ d->data.insert(insert(startTime, event.numericData3, event.typeIndex),
SceneGraphEvent(GlyphStore, event.numericData1));
break;
}
case QmlDebug::SceneGraphContextFrame: {
- d->data.insert(insert(event.startTime - event.numericData1, event.numericData1),
- SceneGraphEvent(Material));
+ d->data.insert(insert(event.startTime - event.numericData1, event.numericData1,
+ event.typeIndex), SceneGraphEvent(Material));
break;
}
case QmlDebug::SceneGraphRenderLoopFrame: {
qint64 startTime = event.startTime - event.numericData1 - event.numericData2 -
event.numericData3;
- d->data.insert(insert(startTime, event.numericData1),
+ d->data.insert(insert(startTime, event.numericData1, event.typeIndex),
SceneGraphEvent(RenderThreadSync));
startTime += event.numericData1 + event.numericData2;
// Skip actual rendering. We get a SceneGraphRendererFrame for that
- d->data.insert(insert(startTime, event.numericData3), SceneGraphEvent(Swap));
+ d->data.insert(insert(startTime, event.numericData3, event.typeIndex),
+ SceneGraphEvent(Swap));
break;
}
case QmlDebug::SceneGraphTexturePrepare: {
qint64 startTime = event.startTime - event.numericData1 - event.numericData2 -
event.numericData3 - event.numericData4 - event.numericData5;
- d->data.insert(insert(startTime, event.numericData1), SceneGraphEvent(TextureBind));
+ d->data.insert(insert(startTime, event.numericData1, event.typeIndex),
+ SceneGraphEvent(TextureBind));
startTime += event.numericData1;
- d->data.insert(insert(startTime, event.numericData2), SceneGraphEvent(TextureConvert));
+ d->data.insert(insert(startTime, event.numericData2, event.typeIndex),
+ SceneGraphEvent(TextureConvert));
startTime += event.numericData2;
- d->data.insert(insert(startTime, event.numericData3), SceneGraphEvent(TextureSwizzle));
+ d->data.insert(insert(startTime, event.numericData3, event.typeIndex),
+ SceneGraphEvent(TextureSwizzle));
startTime += event.numericData3;
- d->data.insert(insert(startTime, event.numericData4), SceneGraphEvent(TextureUpload));
+ d->data.insert(insert(startTime, event.numericData4, event.typeIndex),
+ SceneGraphEvent(TextureUpload));
startTime += event.numericData4;
- d->data.insert(insert(startTime, event.numericData5), SceneGraphEvent(TextureMipmap));
+ d->data.insert(insert(startTime, event.numericData5, event.typeIndex),
+ SceneGraphEvent(TextureMipmap));
break;
}
case QmlDebug::SceneGraphPolishAndSync: {
qint64 startTime = event.startTime - event.numericData1 - event.numericData2 -
event.numericData3 - event.numericData4;
- d->data.insert(insert(startTime, event.numericData1), SceneGraphEvent(Polish));
+ d->data.insert(insert(startTime, event.numericData1, event.typeIndex),
+ SceneGraphEvent(Polish));
startTime += event.numericData1;
- d->data.insert(insert(startTime, event.numericData2), SceneGraphEvent(Wait));
+ d->data.insert(insert(startTime, event.numericData2, event.typeIndex),
+ SceneGraphEvent(Wait));
startTime += event.numericData2;
- d->data.insert(insert(startTime, event.numericData3), SceneGraphEvent(GUIThreadSync));
+ d->data.insert(insert(startTime, event.numericData3, event.typeIndex),
+ SceneGraphEvent(GUIThreadSync));
startTime += event.numericData3;
- d->data.insert(insert(startTime, event.numericData4), SceneGraphEvent(Animations));
+ d->data.insert(insert(startTime, event.numericData4, event.typeIndex),
+ SceneGraphEvent(Animations));
break;
}
case QmlDebug::SceneGraphWindowsAnimations: {
// GUI thread, separate animations stage
- d->data.insert(insert(event.startTime - event.numericData1, event.numericData1),
- SceneGraphEvent(Animations));
+ d->data.insert(insert(event.startTime - event.numericData1, event.numericData1,
+ event.typeIndex), SceneGraphEvent(Animations));
break;
}
case QmlDebug::SceneGraphPolishFrame: {
// GUI thread, separate polish stage
- d->data.insert(insert(event.startTime - event.numericData1, event.numericData1),
- SceneGraphEvent(Polish));
+ d->data.insert(insert(event.startTime - event.numericData1, event.numericData1,
+ event.typeIndex), SceneGraphEvent(Polish));
break;
}
default: break;