forked from qt-creator/qt-creator
Store typeIds in range data
Change-Id: I09e9481296cbd0429858df893de902c63891b430 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user