1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-26 15:39:51 +00:00

Merge pull request #2861 from elsid/osg_stats

Env variable to write OSG stats into file
This commit is contained in:
Bret Curtis 2020-05-19 09:24:38 +02:00 committed by GitHub
commit 61fbc1cd0b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,7 @@
#include "engine.hpp"
#include <iomanip>
#include <fstream>
#include <boost/filesystem/fstream.hpp>
@ -738,6 +739,14 @@ void OMW::Engine::go()
mEnvironment.getWindowManager()->executeInConsole(mStartupScript);
}
std::ofstream stats;
if (const auto path = std::getenv("OPENMW_OSG_STATS_FILE"))
{
stats.open(path, std::ios_base::out);
if (!stats)
Log(Debug::Warning) << "Failed to open file for stats: " << path;
}
// Start the main rendering loop
osg::Timer frameTimer;
double simulationTime = 0.0;
@ -768,6 +777,12 @@ void OMW::Engine::go()
simulationTime += dt;
}
if (stats)
{
const auto frameNumber = mViewer->getFrameStamp()->getFrameNumber();
mViewer->getViewerStats()->report(stats, frameNumber);
}
mEnvironment.limitFrameRate(frameTimer.time_s());
}