__
This commit is contained in:
parent
165b3b347f
commit
ca1e242997
2
log.cpp
2
log.cpp
@ -30,7 +30,7 @@ Log::Log()
|
||||
|
||||
void Log::Init(const char *filename)
|
||||
{
|
||||
std::string name = "logs/Log_" + Log::logDate() + filename + ".txt";
|
||||
std::string name = "logs/Log_" + Log::logDate() + filename + ".txt";
|
||||
this->filename = name.c_str();
|
||||
if ((access(name.c_str(), F_OK) == 0))
|
||||
{
|
||||
|
83
renderd7.cpp
83
renderd7.cpp
@ -4,7 +4,7 @@
|
||||
|
||||
#define RGBA8(r, g, b, a) ((((r) & 0xFF) << 0) | (((g) & 0xFF) << 8) | (((b) & 0xFF) << 16) | (((a) & 0xFF) << 24))
|
||||
#define D7_NOTHING C2D_Color32(0, 0, 0, 0)
|
||||
#define CFGVER "1"
|
||||
#define CFGVER "2"
|
||||
Log renderd7log;
|
||||
float animtime;
|
||||
bool isndspinit = false;
|
||||
@ -50,6 +50,11 @@ float d11framerate = 0;
|
||||
u32 mt_color;
|
||||
u32 mt_txtcolor;
|
||||
|
||||
std::string mt_fps;
|
||||
std::string mt_cpu;
|
||||
std::string mt_gpu;
|
||||
std::string mt_cmd;
|
||||
|
||||
bool shouldbe_disabled = false;
|
||||
int mt_screen;
|
||||
//int mt_width = mt_screen ? 320 : 400;
|
||||
@ -57,6 +62,12 @@ float mt_txtSize;
|
||||
bool metrikd = false;
|
||||
//double mt_fpsgraph[320];
|
||||
std::vector<int> mt_fpsgraph(320);
|
||||
|
||||
//Metrik-CSV
|
||||
bool mt_dumpcsv = false; //Logs the Fps and stuff to csv. It saves every second to not loose performence.
|
||||
bool mt_csvloop = false; //Saves In Every Frame but slows down performens. mt_dumpcsv must be enabled.
|
||||
std::ofstream mt_csv;
|
||||
std::string mt_cname;
|
||||
//-------------------------------------------
|
||||
bool currentScreen = false;
|
||||
|
||||
@ -67,6 +78,16 @@ C3D_RenderTarget* Bottom;
|
||||
#define DSEVENBLACK C2D_Color32(0, 0 ,0, 255)
|
||||
#define DSEVENWHITE C2D_Color32(255, 255, 255, 255)
|
||||
|
||||
std::string Date(void)
|
||||
{
|
||||
time_t unixTime;
|
||||
struct tm timeStruct;
|
||||
time(&unixTime);
|
||||
localtime_r(&unixTime, &timeStruct);
|
||||
return format("%04i-%02i-%02i %02i:%02i:%02i", timeStruct.tm_year + 1900, timeStruct.tm_mon + 1, timeStruct.tm_mday,
|
||||
timeStruct.tm_hour, timeStruct.tm_min, timeStruct.tm_sec);
|
||||
}
|
||||
|
||||
void screenoff()
|
||||
{
|
||||
gspLcdInit();\
|
||||
@ -615,6 +636,8 @@ Result RenderD7::Init::Main(std::string app_name)
|
||||
cfgstruct["metrik-settings"]["ColorA"] = "255";
|
||||
cfgstruct["metrik-settings"]["Color"] = "#000000";
|
||||
cfgstruct["metrik-settings"]["txtSize"] = "0.7f";
|
||||
cfgstruct["metrik-settings"]["dumpcsv"] = "0";
|
||||
cfgstruct["metrik-settings"]["dumpcsvloop"] = "0";
|
||||
cfgfile->write(cfgstruct);
|
||||
}
|
||||
cfgfile = std::make_unique<INI::INIFile>(cfgpath+ "/config.ini");
|
||||
@ -627,6 +650,8 @@ Result RenderD7::Init::Main(std::string app_name)
|
||||
mt_txtSize = RenderD7::Convert::StringtoFloat(cfgstruct["metrik-settings"]["txtSize"]);
|
||||
mt_screen = RenderD7::Convert::StringtoInt(cfgstruct["metrik-settings"]["Screen"]);
|
||||
rd7_superreselution = RenderD7::Convert::FloatToBool(RenderD7::Convert::StringtoFloat(cfgstruct["settings"]["super-reselution"]));
|
||||
mt_dumpcsv = RenderD7::Convert::FloatToBool(RenderD7::Convert::StringtoFloat(cfgstruct["metrik-settings"]["dumpcsv"]));
|
||||
mt_csvloop = RenderD7::Convert::FloatToBool(RenderD7::Convert::StringtoFloat(cfgstruct["metrik-settings"]["dumpcsvloop"]));
|
||||
//Check if citra
|
||||
s64 citracheck = 0;
|
||||
svcGetSystemInfo(&citracheck, 0x20000, 0);
|
||||
@ -637,6 +662,16 @@ Result RenderD7::Init::Main(std::string app_name)
|
||||
{
|
||||
if (consoleModel != 3) gfxSetWide(true);
|
||||
}
|
||||
|
||||
if (mt_dumpcsv)
|
||||
{
|
||||
mt_cname = cfgpath + Date() + ".csv";
|
||||
FILE* logfile = fopen((mt_cname.c_str()), "w");
|
||||
fclose(logfile);
|
||||
mt_csv.open((mt_cname), std::ofstream::app);
|
||||
mt_csv << "FPS,CPU,GPU,CMD\n";
|
||||
mt_csv.close();
|
||||
}
|
||||
RenderD7::AddOvl(std::make_unique<RenderD7::DSP_NF>());
|
||||
|
||||
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
|
||||
@ -945,10 +980,10 @@ void RenderD7::DrawMetrikOvl()
|
||||
std::string __C = RENDERD7VSTRING;
|
||||
std::string info = "RenderD7 " + __C + " Debug Overlay";
|
||||
float infoy = 240 - RenderD7::GetTextHeight(mt_txtSize, info);
|
||||
std::string fps = "FPS: " + RenderD7::GetFramerate();
|
||||
std::string cpu = "CPU: " + std::to_string(C3D_GetProcessingTime()*6.0f).substr(0, 4) + "%/" + std::to_string(C3D_GetProcessingTime()).substr(0, 4) + "ms";
|
||||
std::string gpu = "GPU: " + std::to_string(C3D_GetDrawingTime()*6.0f).substr(0, 4) + "%/" + std::to_string(C3D_GetDrawingTime()).substr(0, 4) + "ms";
|
||||
std::string cmd = "CMD: " + std::to_string(C3D_GetCmdBufUsage()*100.0f).substr(0, 4) + "%/" + std::to_string(C3D_GetCmdBufUsage()).substr(0, 4) + "ms";
|
||||
mt_fps = "FPS: " + RenderD7::GetFramerate();
|
||||
mt_cpu = "CPU: " + std::to_string(C3D_GetProcessingTime()*6.0f).substr(0, 4) + "%/" + std::to_string(C3D_GetProcessingTime()).substr(0, 4) + "ms";
|
||||
mt_gpu = "GPU: " + std::to_string(C3D_GetDrawingTime()*6.0f).substr(0, 4) + "%/" + std::to_string(C3D_GetDrawingTime()).substr(0, 4) + "ms";
|
||||
mt_cmd = "CMD: " + std::to_string(C3D_GetCmdBufUsage()*100.0f).substr(0, 4) + "%/" + std::to_string(C3D_GetCmdBufUsage()).substr(0, 4) + "ms";
|
||||
RenderD7::DrawRect(0, 0, RenderD7::GetTextWidth(mt_txtSize, fps), RenderD7::GetTextHeight(mt_txtSize, fps), mt_color);
|
||||
RenderD7::DrawRect(0, 50, RenderD7::GetTextWidth(mt_txtSize, cpu), RenderD7::GetTextHeight(mt_txtSize, cpu), mt_color);
|
||||
RenderD7::DrawRect(0, 70, RenderD7::GetTextWidth(mt_txtSize, gpu), RenderD7::GetTextHeight(mt_txtSize, gpu), mt_color);
|
||||
@ -1029,7 +1064,7 @@ void OvlHandler()
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
int lp = 0;
|
||||
void RenderD7::FrameEnd()
|
||||
{
|
||||
if (metrikd && !shouldbe_disabled)RenderD7::DrawMetrikOvl();
|
||||
@ -1038,6 +1073,19 @@ void RenderD7::FrameEnd()
|
||||
{
|
||||
RenderD7::LoadSettings();
|
||||
}*/
|
||||
if (mt_dumpcsv && lp == 60)
|
||||
{
|
||||
std::string _mt_fps = RenderD7::GetFramerate();
|
||||
std::string _mt_cpu = std::to_string(C3D_GetProcessingTime()).substr(0, 4);
|
||||
std::string _mt_gpu = std::to_string(C3D_GetDrawingTime()).substr(0, 4);
|
||||
std::string _mt_cmd = std::to_string(C3D_GetCmdBufUsage()).substr(0, 4);
|
||||
mt_csv.open((mt_cname), std::ofstream::app);
|
||||
std::string fmt_ = _mt_fps + "," + _mt_cpu + "," + _mt_gpu + "," + _mt_cmd + "\n";
|
||||
mt_csv << fmt_;
|
||||
mt_csv.close();
|
||||
lp = 0;
|
||||
}
|
||||
lp++;
|
||||
|
||||
C3D_FrameEnd(0);
|
||||
}
|
||||
@ -1059,7 +1107,9 @@ void RenderD7::RSettings::Draw(void) const
|
||||
RenderD7::DrawRect(0, 0, 400, 21, RenderD7::Color::Hex("#111111"));
|
||||
RenderD7::DrawRect(0, 21, 400, 220, RenderD7::Color::Hex("#eeeeee"));
|
||||
RenderD7::DrawText(0, 0, 0.7f, DSEVENWHITE, "RenderD7->Settings");
|
||||
RenderD7::DrawText(0, 26, 0.7f, DSEVENBLACK, "RD7SR" + rd7srstate);
|
||||
RenderD7::DrawText(0, 30, 0.7f, DSEVENBLACK, "RD7SR: " + rd7srstate);
|
||||
RenderD7::DrawText(0, 50, 0.7f, DSEVENBLACK, "Metrik to Csv: " + csvstate);
|
||||
RenderD7::DrawText(0, 70, 0.7f, DSEVENBLACK, "Metrik to Csv-Loop: " + csvlsstate);
|
||||
RenderD7::OnScreen(Bottom);
|
||||
RenderD7::DrawRect(0, 0, 320, 240, RenderD7::Color::Hex("#eeeeee"));
|
||||
RenderD7::DrawTObjects(buttons, RenderD7::Color::Hex("#111111"), RenderD7::Color::Hex("#eeeeee"));
|
||||
@ -1068,10 +1118,29 @@ void RenderD7::RSettings::Draw(void) const
|
||||
void RenderD7::RSettings::Logic(u32 hDown, u32 hHeld, u32 hUp, touchPosition touch)
|
||||
{
|
||||
rd7srstate = rd7_superreselution ? "true" : "false";
|
||||
csvstate = mt_dumpcsv ? "true" : "false";
|
||||
csvlsstate = mt_csvloop ? "true" : "false";
|
||||
if (RenderD7::touchTObj(d7_touch, buttons[0]))
|
||||
{
|
||||
RenderD7::ToggleRD7SR();
|
||||
}
|
||||
if (RenderD7::touchTObj(d7_touch, buttons[1]))
|
||||
{
|
||||
mt_dumpcsv = mt_dumpcsv ? false : true;
|
||||
if (mt_dumpcsv)
|
||||
{
|
||||
mt_cname = cfgpath + Date() + ".csv";
|
||||
FILE* logfile = fopen((mt_cname.c_str()), "w");
|
||||
fclose(logfile);
|
||||
mt_csv.open((mt_cname), std::ofstream::app);
|
||||
mt_csv << "FPS,CPU,GPU,CMD\n";
|
||||
mt_csv.close();
|
||||
}
|
||||
}
|
||||
if (RenderD7::touchTObj(d7_touch, buttons[2]))
|
||||
{
|
||||
mt_csvloop = mt_csvloop ? false : true;
|
||||
}
|
||||
if (d7_hDown & KEY_B)
|
||||
{
|
||||
cfgfile->write(cfgstruct);
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include "stringtool.hpp"
|
||||
#include "Clock.hpp"
|
||||
|
||||
#define RENDERD7VSTRING "0.7.0"
|
||||
#define RENDERD7VSTRING "0.7.1"
|
||||
#define CHANGELOG "0.6.2: \n0.6.10: rewrite Threadsystem, Improve framerate\n0.6.02: Fix Code in lang.hpp\nadd Draw Text Left Function.\nadd changelog\n0.6.01: add Threading system."
|
||||
#define DEFAULT_CENTER 0.5f
|
||||
|
||||
@ -157,11 +157,13 @@ namespace RenderD7
|
||||
{
|
||||
private:
|
||||
std::string rd7srstate = "false";
|
||||
std::string csvstate = "false";
|
||||
std::string csvlstate = "false";
|
||||
std::vector<RenderD7::TObject> buttons =
|
||||
{
|
||||
{20, 35, 120, 35, "RD7SR", -11, 10},
|
||||
{20, 85, 120, 35, "", 0, 9},
|
||||
{20, 135, 120, 35, "", -8, 10},
|
||||
{20, 85, 120, 35, "MT_CSV", 0, 9},
|
||||
{20, 135, 120, 35, "MT_CSV-L", -8, 10},
|
||||
{20, 185, 120, 35, "", 8, 10},
|
||||
{180, 35, 120, 35, "", -15, 10},
|
||||
{180, 85, 120, 35, "", -15, 10},
|
||||
|
Loading…
Reference in New Issue
Block a user