diff options
author | Ulf Hermann <ulf.hermann@digia.com> | 2014-08-29 19:31:23 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@digia.com> | 2014-09-29 14:07:42 +0300 |
commit | f70cbad9b18757848888ac7d8d4af4349d606fa2 (patch) | |
tree | 1de89c894a203d919bf596d4a7326500c7658dc2 | |
parent | 009b1bd437e7bd6ed454d9a00046a0afe1127316 (diff) |
Store typeIds in range data
Change-Id: I09e9481296cbd0429858df893de902c63891b430
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
-rw-r--r-- | plugins/qmlprofilerextension/memoryusagemodel.cpp | 4 | ||||
-rw-r--r-- | plugins/qmlprofilerextension/pixmapcachemodel.cpp | 16 | ||||
-rw-r--r-- | plugins/qmlprofilerextension/scenegraphtimelinemodel.cpp | 59 |
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; |