From c51fef56a89d91f1c014aeb14cc0b3f9d22d81f8 Mon Sep 17 00:00:00 2001 From: Perttu Ahola <celeron55@gmail.com> Date: Mon, 29 Nov 2010 19:55:41 +0200 Subject: [PATCH] default setting change, random tinkering --- minetest.conf.example | 2 +- src/main.cpp | 2 +- src/map.h | 4 ++-- src/server.cpp | 15 ++++++++++++--- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/minetest.conf.example b/minetest.conf.example index 16d9ba4e1..e6c9832a5 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -50,6 +50,6 @@ #active_object_range = 2 -#max_simultaneous_block_sends_per_client = 2 +#max_simultaneous_block_sends_per_client = 1 #max_simultaneous_block_sends_server_total = 4 diff --git a/src/main.cpp b/src/main.cpp index f7b2b2c6b..8ce19ed92 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -340,7 +340,7 @@ void set_default_settings() g_settings.set("ravines_amount", "1.0"); g_settings.set("objectdata_interval", "0.2"); g_settings.set("active_object_range", "2"); - g_settings.set("max_simultaneous_block_sends_per_client", "2"); + g_settings.set("max_simultaneous_block_sends_per_client", "1"); g_settings.set("max_simultaneous_block_sends_server_total", "4"); } diff --git a/src/map.h b/src/map.h index 5b04ae9d1..edfe5ef2a 100644 --- a/src/map.h +++ b/src/map.h @@ -143,10 +143,10 @@ class CacheLock */ JMutexAutoLock * waitCaches() { - dstream<<"waitCaches() begin"<<std::endl; + //dstream<<"waitCaches() begin"<<std::endl; JMutexAutoLock waitcachelock(m_waitcache_mutex); JMutexAutoLock *lock = new JMutexAutoLock(m_cache_mutex); - dstream<<"waitCaches() end"<<std::endl; + //dstream<<"waitCaches() end"<<std::endl; return lock; } diff --git a/src/server.cpp b/src/server.cpp index a40352847..99683615a 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -302,8 +302,10 @@ void RemoteClient::GetNextBlocks(Server *server, float dtime, d_start = m_nearest_unsent_d; } - u16 maximum_simultaneous_block_sends = g_settings.getU16 + u16 maximum_simultaneous_block_sends_setting = g_settings.getU16 ("max_simultaneous_block_sends_per_client"); + u16 maximum_simultaneous_block_sends = + maximum_simultaneous_block_sends_setting; /* Check the time from last addNode/removeNode. @@ -380,13 +382,20 @@ void RemoteClient::GetNextBlocks(Server *server, float dtime, Also, don't send blocks that are already flying. */ - if(d > BLOCK_SEND_DISABLE_LIMITS_MAX_D) + + u16 maximum_simultaneous_block_sends_now = + maximum_simultaneous_block_sends; + + if(d <= BLOCK_SEND_DISABLE_LIMITS_MAX_D) + maximum_simultaneous_block_sends_now = + maximum_simultaneous_block_sends_setting; + { JMutexAutoLock lock(m_blocks_sending_mutex); // Limit is dynamically lowered when building if(m_blocks_sending.size() - >= maximum_simultaneous_block_sends) + >= maximum_simultaneous_block_sends_now) { /*dstream<<"Not sending more blocks. Queue full. " <<m_blocks_sending.size() -- GitLab