//---------------------------------------------------------------------------------- // //---------------------------------------------------------------------------------- void WriteSystemSpecToLog(Log* log) { log->WriteLineStrongly("システム情報"); log->BeginTable(); log->Write("CPU名"); log->ChangeColumn(); log->Write(GetCPUName().c_str()); log->ChangeRow(); log->Write("OS情報"); log->ChangeColumn(); #if defined(_WIN32) log->Write("OS: Windows\n"); log->Write(GetWindowsVersion().c_str()); #else log->Write("Unavailable"); #endif log->ChangeRow(); log->Write("メモリ情報"); log->ChangeColumn(); log->Write(GetMemoryInfo().c_str()); log->EndTable(); }
void Benchmark::Stop() { if(!IsRunning()) { return; } // Stop listening to renderer renderer->OnRenderFrame->Delete(listener); listener = NULL; char buffer[256]; // Ignore initialisation time ignoreindex = 0; float tmpframetimesum = 0; for(unsigned int i = 0;i < frametimes.size();i++) { tmpframetimesum += frametimes[i]; if(tmpframetimesum > 1000) { // ignore the first 1sec OR the first 25 frames ignoreindex = i;//std::max(25u,i); break; } } // This is not equal to benchmarktime for some reason float frametimesum = 0; for(unsigned int i = ignoreindex;i < frametimes.size();i++) { frametimesum += frametimes[i]; } frametimesum /= 1000.0f; // keep seconds // Show framerates instead of frametimes... minfps = 9999999999999; maxfps = 0; for(unsigned int i = ignoreindex;i < frametimes.size();i++) { minfps = std::min(minfps,1000.0f/frametimes[i]); maxfps = std::max(maxfps,1000.0f/frametimes[i]); } avgfps = (float)(frametimes.size() - ignoreindex)/frametimesum; snprintf(buffer,256,"%g",minfps); minfpsfield->SetCaption(buffer); snprintf(buffer,256,"%g",avgfps); avgfpsfield->SetCaption(buffer); snprintf(buffer,256,"%g",maxfps); maxfpsfield->SetCaption(buffer); // Set PC information GetCPUName(buffer,256); cpufield->SetCaption(buffer); GetGPUName(buffer,256); gpufield->SetCaption(buffer); Show(true); }