mirror of
https://github.com/lubosz/overte.git
synced 2025-04-19 17:03:43 +02:00
commit
b90af9e3b5
3 changed files with 37 additions and 2 deletions
|
@ -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"
|
||||
|
|
|
@ -482,7 +482,7 @@ void Stats::updateStats(bool force) {
|
|||
float dt = (float)itr.value().getMovingAverage() / (float)USECS_PER_MSEC;
|
||||
_gameUpdateStats = QString("/idle/update = %1 ms").arg(dt);
|
||||
|
||||
QVector<QString> categories = { "devices", "physics", "otherAvatars", "MyAvatar", "misc" };
|
||||
QVector<QString> categories = { "devices", "physics", "otherAvatars", "MyAvatar", "pickManager", "postUpdateLambdas", "misc" };
|
||||
for (int32_t j = 0; j < categories.size(); ++j) {
|
||||
QString recordKey = "/idle/update/" + categories[j];
|
||||
itr = allRecords.find(recordKey);
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue