Переглянути джерело

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 роки тому
джерело
коміт
fecf0a4c79
4 змінених файлів з 21 додано та 21 видалено
  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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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 Переглянути файл

@@ -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;


Завантаження…
Відмінити
Зберегти