Пример #1
0
	//----------------------------------------------------------------------------------
	//
	//----------------------------------------------------------------------------------
	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();
	}
Пример #2
0
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);
}