summaryrefslogtreecommitdiff
path: root/src/clientmap.cpp
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2013-08-03 18:46:18 +0300
committerPerttu Ahola <celeron55@gmail.com>2013-08-03 18:46:18 +0300
commitc50c9a10f12fb28724b30ec0db00aee39c4a1414 (patch)
treee1fca91fe4745033f92be17388bd7e6f8769926d /src/clientmap.cpp
parent45589fae58157c8a66c640a1db5795a42a86fc1c (diff)
downloadminetest-c50c9a10f12fb28724b30ec0db00aee39c4a1414.tar.gz
minetest-c50c9a10f12fb28724b30ec0db00aee39c4a1414.tar.bz2
minetest-c50c9a10f12fb28724b30ec0db00aee39c4a1414.zip
Fix and improve view range tuner
Diffstat (limited to 'src/clientmap.cpp')
-rw-r--r--src/clientmap.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/clientmap.cpp b/src/clientmap.cpp
index c08068367..e0c41c762 100644
--- a/src/clientmap.cpp
+++ b/src/clientmap.cpp
@@ -215,6 +215,8 @@ void ClientMap::updateDrawList(video::IVideoDriver* driver)
//u32 blocks_had_pass_meshbuf = 0;
// Blocks from which stuff was actually drawn
//u32 blocks_without_stuff = 0;
+ // Distance to farthest drawn block
+ float farthest_drawn = 0;
for(std::map<v2s16, MapSector*>::iterator
si = m_sectors.begin();
@@ -347,6 +349,8 @@ void ClientMap::updateDrawList(video::IVideoDriver* driver)
sector_blocks_drawn++;
blocks_drawn++;
+ if(d/BS > farthest_drawn)
+ farthest_drawn = d/BS;
} // foreach sectorblocks
@@ -356,6 +360,7 @@ void ClientMap::updateDrawList(video::IVideoDriver* driver)
m_control.blocks_would_have_drawn = blocks_would_have_drawn;
m_control.blocks_drawn = blocks_drawn;
+ m_control.farthest_drawn = farthest_drawn;
g_profiler->avg("CM: blocks in range", blocks_in_range);
g_profiler->avg("CM: blocks occlusion culled", blocks_occlusion_culled);
@@ -363,6 +368,7 @@ void ClientMap::updateDrawList(video::IVideoDriver* driver)
g_profiler->avg("CM: blocks in range without mesh (frac)",
(float)blocks_in_range_without_mesh/blocks_in_range);
g_profiler->avg("CM: blocks drawn", blocks_drawn);
+ g_profiler->avg("CM: farthest drawn", farthest_drawn);
g_profiler->avg("CM: wanted max blocks", m_control.wanted_max_blocks);
}