mirror of
https://github.com/overte-org/overte.git
synced 2025-07-17 16:17:17 +02:00
have animation server set an appropriate PPS based on it's voxel edit messages
This commit is contained in:
parent
825d397e21
commit
c6981d1912
1 changed files with 26 additions and 13 deletions
|
@ -594,8 +594,12 @@ void* animateVoxels(void* args) {
|
||||||
|
|
||||||
timeval lastSendTime;
|
timeval lastSendTime;
|
||||||
|
|
||||||
|
bool firstTime = true;
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
gettimeofday(&lastSendTime, NULL);
|
gettimeofday(&lastSendTime, NULL);
|
||||||
|
|
||||||
|
int packetsStarting = ::voxelEditPacketSender->packetsToSendCount();
|
||||||
|
|
||||||
// some animations
|
// some animations
|
||||||
//sendVoxelBlinkMessage();
|
//sendVoxelBlinkMessage();
|
||||||
|
@ -619,12 +623,22 @@ void* animateVoxels(void* args) {
|
||||||
if (::buildStreet) {
|
if (::buildStreet) {
|
||||||
doBuildStreet();
|
doBuildStreet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::voxelEditPacketSender->releaseQueuedMessages();
|
||||||
|
int packetsEnding = ::voxelEditPacketSender->packetsToSendCount();
|
||||||
|
|
||||||
if (::voxelEditPacketSender) {
|
if (firstTime) {
|
||||||
::voxelEditPacketSender->releaseQueuedMessages();
|
int packetsPerSecond = (packetsEnding - packetsStarting) * (ACTUAL_FPS);
|
||||||
if (::nonThreadedPacketSender) {
|
|
||||||
::voxelEditPacketSender->process();
|
std::cout << "Setting PPS to " << packetsPerSecond << "\n";
|
||||||
}
|
|
||||||
|
::voxelEditPacketSender->setPacketsPerSecond(packetsPerSecond);
|
||||||
|
firstTime = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (::nonThreadedPacketSender) {
|
||||||
|
::voxelEditPacketSender->process();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t end = usecTimestampNow();
|
uint64_t end = usecTimestampNow();
|
||||||
|
@ -715,14 +729,13 @@ int main(int argc, const char * argv[])
|
||||||
|
|
||||||
// Create out VoxelEditPacketSender
|
// Create out VoxelEditPacketSender
|
||||||
::voxelEditPacketSender = new VoxelEditPacketSender;
|
::voxelEditPacketSender = new VoxelEditPacketSender;
|
||||||
if (::voxelEditPacketSender) {
|
::voxelEditPacketSender->initialize(!::nonThreadedPacketSender);
|
||||||
::voxelEditPacketSender->initialize(!::nonThreadedPacketSender);
|
|
||||||
if (::jurisdictionListener) {
|
if (::jurisdictionListener) {
|
||||||
::voxelEditPacketSender->setVoxelServerJurisdictions(::jurisdictionListener->getJurisdictions());
|
::voxelEditPacketSender->setVoxelServerJurisdictions(::jurisdictionListener->getJurisdictions());
|
||||||
}
|
}
|
||||||
if (::nonThreadedPacketSender) {
|
if (::nonThreadedPacketSender) {
|
||||||
::voxelEditPacketSender->setProcessCallIntervalHint(ANIMATE_VOXELS_INTERVAL_USECS);
|
::voxelEditPacketSender->setProcessCallIntervalHint(ANIMATE_VOXELS_INTERVAL_USECS);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
srand((unsigned)time(0));
|
srand((unsigned)time(0));
|
||||||
|
|
Loading…
Reference in a new issue