mirror of
https://github.com/afska/gba-link-connection.git
synced 2026-10-02 05:47:11 -05:00
Adjusting wireless profiler code
This commit is contained in:
@@ -280,15 +280,10 @@ void messageLoop() {
|
||||
u32 lastLostPacketReceived = 0;
|
||||
u32 lastLostPacketReceivedPacketId = 0;
|
||||
#else
|
||||
u32 vblanks = 0;
|
||||
u32 totalVBlankTime = 0;
|
||||
u32 totalSerialTime = 0;
|
||||
u32 totalTimerTime = 0;
|
||||
u32 totalSerialIRQs = 0;
|
||||
u32 totalTimerIRQs = 0;
|
||||
u32 avgVBlankTime = 0;
|
||||
u32 avgSerialTime = 0;
|
||||
u32 avgTimerTime = 0;
|
||||
u32 avgTime = 0;
|
||||
u32 avgSerialIRQs = 0;
|
||||
u32 avgTimerIRQs = 0;
|
||||
#endif
|
||||
@@ -390,26 +385,22 @@ void messageLoop() {
|
||||
|
||||
// Normal output
|
||||
#ifdef PROFILING_ENABLED
|
||||
vblanks++;
|
||||
totalVBlankTime += linkWireless->lastVBlankTime;
|
||||
totalSerialTime += linkWireless->lastSerialTime;
|
||||
totalTimerTime += linkWireless->lastTimerTime;
|
||||
totalSerialIRQs += linkWireless->lastFrameSerialIRQs;
|
||||
totalTimerIRQs += linkWireless->lastFrameTimerIRQs;
|
||||
if (linkWireless->vblankIRQs >= 60) {
|
||||
avgVBlankTime = linkWireless->vblankTime / 60;
|
||||
avgSerialTime = linkWireless->serialTime / 60;
|
||||
avgTimerTime = linkWireless->timerTime / 60;
|
||||
avgSerialIRQs = linkWireless->serialIRQs / 60;
|
||||
avgTimerIRQs = linkWireless->timerIRQs / 60;
|
||||
avgTime = (linkWireless->vblankTime + linkWireless->serialTime +
|
||||
linkWireless->timerTime) /
|
||||
60;
|
||||
|
||||
if (vblanks >= 60) {
|
||||
avgVBlankTime = totalVBlankTime / 60;
|
||||
avgSerialTime = totalSerialTime / 60;
|
||||
avgTimerTime = totalTimerTime / 60;
|
||||
avgSerialIRQs = totalSerialIRQs / 60;
|
||||
avgTimerIRQs = totalTimerIRQs / 60;
|
||||
|
||||
vblanks = 0;
|
||||
totalVBlankTime = 0;
|
||||
totalSerialTime = 0;
|
||||
totalTimerTime = 0;
|
||||
totalSerialIRQs = 0;
|
||||
totalTimerIRQs = 0;
|
||||
linkWireless->vblankIRQs = 0;
|
||||
linkWireless->vblankTime = 0;
|
||||
linkWireless->serialTime = 0;
|
||||
linkWireless->timerTime = 0;
|
||||
linkWireless->serialIRQs = 0;
|
||||
linkWireless->timerIRQs = 0;
|
||||
}
|
||||
#endif
|
||||
std::string output =
|
||||
@@ -460,9 +451,7 @@ void messageLoop() {
|
||||
output += "\n_onTimer: " + std::to_string(avgTimerTime);
|
||||
output += "\n_serialIRQs: " + std::to_string(avgSerialIRQs);
|
||||
output += "\n_timerIRQs: " + std::to_string(avgTimerIRQs);
|
||||
output += "\n_ms: " + std::to_string(linkWireless->toMs(
|
||||
avgVBlankTime + avgSerialTime * avgSerialIRQs +
|
||||
avgTimerTime * avgTimerIRQs));
|
||||
output += "\n_ms: " + std::to_string(linkWireless->toMs(avgTime));
|
||||
#else
|
||||
if (lostPackets > 0) {
|
||||
output += "\n\n_lostPackets: " + std::to_string(lostPackets) + "\n";
|
||||
|
||||
@@ -229,13 +229,12 @@ class LinkWireless {
|
||||
// std::function<void(std::string str)> debug;
|
||||
// #define PROFILING_ENABLED
|
||||
#ifdef PROFILING_ENABLED
|
||||
u32 lastVBlankTime = 0;
|
||||
u32 lastSerialTime = 0;
|
||||
u32 lastTimerTime = 0;
|
||||
u32 lastFrameSerialIRQs = 0;
|
||||
u32 lastFrameTimerIRQs = 0;
|
||||
u32 serialIRQCount = 0;
|
||||
u32 timerIRQCount = 0;
|
||||
u32 vblankTime = 0;
|
||||
u32 serialTime = 0;
|
||||
u32 timerTime = 0;
|
||||
u32 vblankIRQs = 0;
|
||||
u32 serialIRQs = 0;
|
||||
u32 timerIRQs = 0;
|
||||
#endif
|
||||
|
||||
enum State {
|
||||
@@ -854,11 +853,8 @@ class LinkWireless {
|
||||
sessionState.pingSent = false;
|
||||
|
||||
#ifdef PROFILING_ENABLED
|
||||
lastVBlankTime = profileStop();
|
||||
lastFrameSerialIRQs = serialIRQCount;
|
||||
lastFrameTimerIRQs = timerIRQCount;
|
||||
serialIRQCount = 0;
|
||||
timerIRQCount = 0;
|
||||
vblankTime += profileStop();
|
||||
vblankIRQs++;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -908,8 +904,8 @@ class LinkWireless {
|
||||
}
|
||||
|
||||
#ifdef PROFILING_ENABLED
|
||||
lastSerialTime = profileStop();
|
||||
serialIRQCount++;
|
||||
serialTime += profileStop();
|
||||
serialIRQs++;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -932,8 +928,8 @@ class LinkWireless {
|
||||
acceptConnectionsOrTransferData();
|
||||
|
||||
#ifdef PROFILING_ENABLED
|
||||
lastTimerTime = profileStop();
|
||||
timerIRQCount++;
|
||||
timerTime += profileStop();
|
||||
timerIRQs++;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user