浏览代码

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;


正在加载...
取消
保存