Added a (disabled) perf test for biome generators.
This commit is contained in:
parent
ca29683738
commit
f5c4a6a27d
@ -5,6 +5,8 @@
|
|||||||
|
|
||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
#include "BioGen.h"
|
#include "BioGen.h"
|
||||||
|
#include <chrono>
|
||||||
|
#include <iostream>
|
||||||
#include "IntGen.h"
|
#include "IntGen.h"
|
||||||
#include "ProtIntGen.h"
|
#include "ProtIntGen.h"
|
||||||
#include "../IniFile.h"
|
#include "../IniFile.h"
|
||||||
@ -1199,3 +1201,47 @@ cBiomeGenPtr cBiomeGen::CreateBiomeGen(cIniFile & a_IniFile, int a_Seed, bool &
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Performance tests:
|
||||||
|
|
||||||
|
// Change to 1 to enable the perf test:
|
||||||
|
#if 0
|
||||||
|
|
||||||
|
class cBioGenPerfTest
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
cBioGenPerfTest()
|
||||||
|
{
|
||||||
|
std::cout << "BioGen performance tests commencing, please wait..." << std::endl;
|
||||||
|
TestGen("MultiStepMap", std::make_unique<cBioGenMultiStepMap>(1).get());
|
||||||
|
TestGen("Grown", std::make_unique<cBioGenGrown>(1).get());
|
||||||
|
TestGen("GrownProt", std::make_unique<cBioGenProtGrown>(1).get());
|
||||||
|
std::cout << "BioGen performance tests complete." << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void TestGen(const AString && a_GenName, cBiomeGen * a_BioGen)
|
||||||
|
{
|
||||||
|
// Initialize the default settings for the generator:
|
||||||
|
cIniFile iniFile;
|
||||||
|
a_BioGen->InitializeBiomeGen(iniFile);
|
||||||
|
|
||||||
|
// Generate the biomes:
|
||||||
|
auto start = std::chrono::system_clock::now();
|
||||||
|
for (int z = 0; z < 100; z++)
|
||||||
|
{
|
||||||
|
for (int x = 0; x < 100; x++)
|
||||||
|
{
|
||||||
|
cChunkDef::BiomeMap biomes;
|
||||||
|
a_BioGen->GenBiomes(x, z, biomes);
|
||||||
|
} // for x
|
||||||
|
} // for z
|
||||||
|
auto dur = std::chrono::system_clock::now() - start;
|
||||||
|
double milliseconds = static_cast<double>((std::chrono::duration_cast<std::chrono::milliseconds>(dur)).count());
|
||||||
|
|
||||||
|
std::cout << a_GenName << ": " << 1000.0 * 100.0 * 100.0 / milliseconds << " chunks per second" << std::endl;
|
||||||
|
}
|
||||||
|
} g_BioGenPerfTest;
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user