Changeset 32909 in vbox for trunk/src/VBox/HostServices/SharedOpenGL/crserverlib
- Timestamp:
- Oct 5, 2010 12:31:36 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 66392
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_clear.c
r32175 r32909 23 23 uint32_t mcPeriods; 24 24 uint32_t miPeriod; 25 26 uint64_t mBytesSum; 27 uint32_t *mpaBytes; 28 29 uint64_t mCallsSum; 30 uint32_t *mpaCalls; 25 31 } VBOXCRFPS, *PVBOXCRFPS; 26 32 27 33 void vboxCrFpsInit(PVBOXCRFPS pFps, uint32_t cPeriods) 28 34 { 29 memset(pFps, 0, sizeof (*pFps));35 crMemset(pFps, 0, sizeof (*pFps)); 30 36 pFps->mcPeriods = cPeriods; 31 pFps->mpaPeriods = malloc(sizeof (pFps->mpaPeriods[0]) * cPeriods); 32 memset(pFps->mpaPeriods, 0, cPeriods * sizeof(pFps->mpaPeriods[0])); 37 pFps->mpaPeriods = crCalloc(sizeof (pFps->mpaPeriods[0]) * cPeriods); 38 pFps->mpaBytes = crCalloc(sizeof (pFps->mpaBytes[0]) * cPeriods); 39 pFps->mpaCalls = crCalloc(sizeof (pFps->mpaCalls[0]) * cPeriods); 33 40 } 34 41 35 42 void vboxCrFpsTerm(PVBOXCRFPS pFps) 36 43 { 37 free(pFps->mpaPeriods); 44 crFree(pFps->mpaPeriods); 45 crFree(pFps->mpaBytes); 46 crFree(pFps->mpaCalls); 38 47 } 39 48 … … 41 50 { 42 51 uint64_t cur = RTTimeNanoTS(); 52 uint64_t curBytes, curCalls; 53 int i; 54 55 curBytes = 0; 56 curCalls = 0; 57 58 for (i = 0; i < cr_server.numClients; i++) 59 { 60 if (cr_server.clients[i] && cr_server.clients[i]->conn) 61 { 62 curBytes += cr_server.clients[i]->conn->total_bytes_recv; 63 curCalls += cr_server.clients[i]->conn->recv_count; 64 cr_server.clients[i]->conn->total_bytes_recv = 0; 65 cr_server.clients[i]->conn->recv_count = 0; 66 } 67 } 68 43 69 if(pFps->mPrevTime) 44 70 { 45 71 uint64_t curPeriod = cur - pFps->mPrevTime; 72 46 73 pFps->mPeriodSum += curPeriod - pFps->mpaPeriods[pFps->miPeriod]; 47 74 pFps->mpaPeriods[pFps->miPeriod] = curPeriod; 75 76 pFps->mBytesSum += curBytes - pFps->mpaBytes[pFps->miPeriod]; 77 pFps->mpaBytes[pFps->miPeriod] = curBytes; 78 79 pFps->mCallsSum += curCalls - pFps->mpaCalls[pFps->miPeriod]; 80 pFps->mpaCalls[pFps->miPeriod] = curCalls; 81 48 82 ++pFps->miPeriod; 49 83 pFps->miPeriod %= pFps->mcPeriods; … … 61 95 { 62 96 return ((double)1000000000.0) / vboxCrFpsGetEveragePeriod(pFps); 97 } 98 99 double vboxCrFpsGetBps(PVBOXCRFPS pFps) 100 { 101 return vboxCrFpsGetFps(pFps) * pFps->mBytesSum / pFps->mcPeriods; 102 } 103 104 double vboxCrFpsGetCps(PVBOXCRFPS pFps) 105 { 106 return vboxCrFpsGetFps(pFps) * pFps->mCallsSum / pFps->mcPeriods; 63 107 } 64 108 … … 119 163 { 120 164 double fps = vboxCrFpsGetFps(&Fps); 121 crDebug("fps: %f\n", fps); 165 double bps = vboxCrFpsGetBps(&Fps); 166 double cps = vboxCrFpsGetCps(&Fps); 167 crDebug("fps: %f, Mbps: %.1f, cps: %.1f", fps, bps/(1024.0*1024.0), cps); 122 168 } 123 169 #endif
Note:
See TracChangeset
for help on using the changeset viewer.