Add more timing stats in explanded mode

This commit is contained in:
samcake 2018-02-28 10:48:35 -08:00
parent 9580258589
commit 9e5ed7b905
3 changed files with 36 additions and 1 deletions
interface
resources/qml
src/ui

View file

@ -257,7 +257,11 @@ Item {
id: octreeCol
spacing: 4; x: 4; y: 4;
StatText {
text: "Engine: " + root.engineFrameTime.toFixed(1) + " ms"
text: "Render Engine: " + root.engineFrameTime.toFixed(1) + " ms"
}
StatText {
visible: root.expanded
text: root.renderEngineStats
}
StatText {
text: "Batch: " + root.batchFrameTime.toFixed(1) + " ms"

View file

@ -502,10 +502,39 @@ void Stats::updateStats(bool force) {
_gameUpdateStats = "";
emit gameUpdateStatsChanged();
}
itr = allRecords.find("/paintGL/display/EngineRun/Engine");
std::priority_queue<SortableStat> renderEngineStats;
if (itr != allRecords.end()) {
float dt = (float)itr.value().getMovingAverage() / (float)USECS_PER_MSEC;
_renderEngineStats = QString("/render = %1 ms").arg(dt);
QVector<QString> categories = { "RenderMainView", "SecondaryCameraJob", "UpdateScene"};
for (int32_t j = 0; j < categories.size(); ++j) {
QString recordKey = "/paintGL/display/EngineRun/Engine/" + categories[j];
itr = allRecords.find(recordKey);
if (itr != allRecords.end()) {
float dt = (float)itr.value().getMovingAverage() / (float)USECS_PER_MSEC;
QString message = QString("\n %1 = %2").arg(categories[j]).arg(dt);
renderEngineStats.push(SortableStat(message, dt));
}
}
while (!renderEngineStats.empty()) {
SortableStat stat = renderEngineStats.top();
_renderEngineStats += stat.message;
renderEngineStats.pop();
}
emit renderEngineStatsChanged();
} else if (_renderEngineStats != "") {
_renderEngineStats = "";
emit renderEngineStatsChanged();
}
} else if (_showGameUpdateStats) {
_showGameUpdateStats = false;
_gameUpdateStats = "";
_renderEngineStats = "";
emit gameUpdateStatsChanged();
emit renderEngineStatsChanged();
}
}

View file

@ -106,6 +106,7 @@ class Stats : public QQuickItem {
STATS_PROPERTY(QString, lodStatus, QString())
STATS_PROPERTY(QString, timingStats, QString())
STATS_PROPERTY(QString, gameUpdateStats, QString())
STATS_PROPERTY(QString, renderEngineStats, QString())
STATS_PROPERTY(int, serverElements, 0)
STATS_PROPERTY(int, serverInternal, 0)
STATS_PROPERTY(int, serverLeaves, 0)
@ -239,6 +240,7 @@ signals:
void localLeavesChanged();
void timingStatsChanged();
void gameUpdateStatsChanged();
void renderEngineStatsChanged();
void glContextSwapchainMemoryChanged();
void qmlTextureMemoryChanged();
void texturePendingTransfersChanged();