diff options
author | Perttu Ahola <celeron55@gmail.com> | 2013-08-03 18:46:18 +0300 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2013-08-03 18:46:18 +0300 |
commit | c50c9a10f12fb28724b30ec0db00aee39c4a1414 (patch) | |
tree | e1fca91fe4745033f92be17388bd7e6f8769926d /src/clientmap.cpp | |
parent | 45589fae58157c8a66c640a1db5795a42a86fc1c (diff) | |
download | minetest-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.cpp | 6 |
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); } |