Minetest/builtin
Perttu Ahola 04cc9de8f2 MeshUpdateQueue: Add a MapBlock cache that minimizes the amount of MapBlock copying done in the main thread
Cache size is configurable by the meshgen_block_cache_size (default 20 MB).

New profiler stats:
- MeshUpdateQueue MapBlock cache hit %
- MeshUpdateQueue MapBlock cache size kB

Removes one type of stutter that was seen on the client when received MapBlocks
were being handled. (the "MeshMakeData::fill" stutter)

Kind of related to at least #5239

Originally preceded by these commits, now includes them:
- Move the mesh generator thread into src/mesh_generator_thread.{cpp,h}
- mesh_generator_thread.cpp: Update code style
- MeshUpdateThread: Modify interface to house a different implementation: Actual functionality will be changed by next commits.
- MeshMakeData: Add fillBlockData() interface (so that caller can fill in stuff from eg. a MapBlock cache)
2017-04-17 14:58:29 +03:00
..
async Use "core" namespace internally 2014-05-08 13:02:04 -04:00
client [CSM] Allow escaping chatcommands and add missing calls to gettext. (#5565) 2017-04-11 23:35:25 +02:00
common [CSM] Use more gettext (#5553) 2017-04-10 21:14:00 +02:00
fstk Faster insertion into table 2016-03-06 23:42:04 +00:00
game Implement delayed server shutdown with cancelation (#4664) 2017-04-15 23:19:18 +02:00
mainmenu Multiplayer menu: fix attempt to open nonexistant image 2017-02-18 22:46:45 +00:00
profiler Builtin/profiler: Replace game profiler (#4245) 2016-07-12 21:51:10 +02:00
init.lua [CSM] Improve security for client-sided mods (#5100) 2017-03-13 23:56:05 +01:00
settingtypes.txt MeshUpdateQueue: Add a MapBlock cache that minimizes the amount of MapBlock copying done in the main thread 2017-04-17 14:58:29 +03:00