Browse Source

Replace "frames" with "updates" in stats

The VNC servers aren't great at getting full frames with each update,
so avoid calling it "frames per second" in the statistics as that
can be misleading.
tags/v1.8.90
Pierre Ossman 6 years ago
parent
commit
fecf0a4c79
4 changed files with 21 additions and 21 deletions
  1. 4
    4
      vncviewer/CConn.cxx
  2. 2
    2
      vncviewer/CConn.h
  3. 13
    13
      vncviewer/DesktopWindow.cxx
  4. 2
    2
      vncviewer/DesktopWindow.h

+ 4
- 4
vncviewer/CConn.cxx View File

@@ -73,7 +73,7 @@ static const PixelFormat mediumColourPF(8, 8, false, true,

CConn::CConn(const char* vncServerName, network::Socket* socket=NULL)
: serverHost(0), serverPort(0), desktop(NULL),
frameCount(0), pixelCount(0), pendingPFChange(false),
updateCount(0), pixelCount(0), pendingPFChange(false),
currentEncoding(encodingTight), lastServerEncoding((unsigned int)-1),
formatChange(false), encodingChange(false),
firstUpdate(true), pendingUpdate(false), continuousUpdates(false),
@@ -226,9 +226,9 @@ const char *CConn::connectionInfo()
return infoText;
}

unsigned CConn::getFrameCount()
unsigned CConn::getUpdateCount()
{
return frameCount;
return updateCount;
}

unsigned CConn::getPixelCount()
@@ -383,7 +383,7 @@ void CConn::framebufferUpdateEnd()
{
CConnection::framebufferUpdateEnd();

frameCount++;
updateCount++;

Fl::remove_timeout(handleUpdateTimeout, this);
desktop->updateWindow();

+ 2
- 2
vncviewer/CConn.h View File

@@ -40,7 +40,7 @@ public:

const char *connectionInfo();

unsigned getFrameCount();
unsigned getUpdateCount();
unsigned getPixelCount();
unsigned getPosition();

@@ -95,7 +95,7 @@ private:

DesktopWindow *desktop;

unsigned frameCount;
unsigned updateCount;
unsigned pixelCount;

rfb::PixelFormat serverPF;

+ 13
- 13
vncviewer/DesktopWindow.cxx View File

@@ -66,7 +66,7 @@ DesktopWindow::DesktopWindow(int w, int h, const char *name,
firstUpdate(true),
delayedFullscreen(false), delayedDesktopSize(false),
keyboardGrabbed(false), mouseGrabbed(false),
statsLastFrame(0), statsLastPixels(0), statsLastPosition(0),
statsLastUpdates(0), statsLastPixels(0), statsLastPosition(0),
statsGraph(NULL)
{
Fl_Group* group;
@@ -1287,7 +1287,7 @@ void DesktopWindow::handleStatsTimeout(void *data)

const size_t statsCount = sizeof(self->stats)/sizeof(self->stats[0]);

unsigned frame, pixels, pos;
unsigned updates, pixels, pos;
unsigned elapsed;

const unsigned statsWidth = 200;
@@ -1298,12 +1298,12 @@ void DesktopWindow::handleStatsTimeout(void *data)
Fl_Image_Surface *surface;
Fl_RGB_Image *image;

unsigned maxFPS, maxPPS, maxBPS;
unsigned maxUPS, maxPPS, maxBPS;
size_t i;

char buffer[256];

frame = self->cc->getFrameCount();
updates = self->cc->getUpdateCount();
pixels = self->cc->getPixelCount();
pos = self->cc->getPosition();
elapsed = msSince(&self->statsLastTime);
@@ -1312,12 +1312,12 @@ void DesktopWindow::handleStatsTimeout(void *data)

memmove(&self->stats[0], &self->stats[1], sizeof(self->stats[0])*(statsCount-1));

self->stats[statsCount-1].fps = (frame - self->statsLastFrame) * 1000 / elapsed;
self->stats[statsCount-1].ups = (updates - self->statsLastUpdates) * 1000 / elapsed;
self->stats[statsCount-1].pps = (pixels - self->statsLastPixels) * 1000 / elapsed;
self->stats[statsCount-1].bps = (pos - self->statsLastPosition) * 1000 / elapsed;

gettimeofday(&self->statsLastTime, NULL);
self->statsLastFrame = frame;
self->statsLastUpdates = updates;
self->statsLastPixels = pixels;
self->statsLastPosition = pos;

@@ -1334,23 +1334,23 @@ void DesktopWindow::handleStatsTimeout(void *data)

fl_rect(5, 5, graphWidth, graphHeight, FL_WHITE);

maxFPS = maxPPS = maxBPS = 0;
maxUPS = maxPPS = maxBPS = 0;
for (i = 0;i < statsCount;i++) {
if (self->stats[i].fps > maxFPS)
maxFPS = self->stats[i].fps;
if (self->stats[i].ups > maxUPS)
maxUPS = self->stats[i].ups;
if (self->stats[i].pps > maxPPS)
maxPPS = self->stats[i].pps;
if (self->stats[i].bps > maxBPS)
maxBPS = self->stats[i].bps;
}

if (maxFPS != 0) {
if (maxUPS != 0) {
fl_color(FL_GREEN);
for (i = 0;i < statsCount-1;i++) {
fl_line(5 + i * graphWidth / statsCount,
5 + graphHeight - graphHeight * self->stats[i].fps / maxFPS,
5 + graphHeight - graphHeight * self->stats[i].ups / maxUPS,
5 + (i+1) * graphWidth / statsCount,
5 + graphHeight - graphHeight * self->stats[i+1].fps / maxFPS);
5 + graphHeight - graphHeight * self->stats[i+1].ups / maxUPS);
}
}

@@ -1377,7 +1377,7 @@ void DesktopWindow::handleStatsTimeout(void *data)
fl_font(FL_HELVETICA, 10);

fl_color(FL_GREEN);
snprintf(buffer, sizeof(buffer), "%u fps", self->stats[statsCount-1].fps);
snprintf(buffer, sizeof(buffer), "%u upd/s", self->stats[statsCount-1].ups);
fl_draw(buffer, 5, statsHeight - 5);

fl_color(FL_YELLOW);

+ 2
- 2
vncviewer/DesktopWindow.h View File

@@ -129,14 +129,14 @@ private:
bool mouseGrabbed;

struct statsEntry {
unsigned fps;
unsigned ups;
unsigned pps;
unsigned bps;
};
struct statsEntry stats[100];

struct timeval statsLastTime;
unsigned statsLastFrame;
unsigned statsLastUpdates;
unsigned statsLastPixels;
unsigned statsLastPosition;


Loading…
Cancel
Save