mirror of
https://github.com/minetest/minetest.git
synced 2024-12-28 00:47:29 +01:00
Made mesh update on node addition asynchronous on client, to reduce frametime spikes
This commit is contained in:
parent
212f34db82
commit
e56d166337
@ -1800,14 +1800,15 @@ void Client::addNode(v3s16 p, MapNode n)
|
||||
catch(InvalidPositionException &e)
|
||||
{}
|
||||
|
||||
TimeTaker timer2("Client::addNode(): updateMeshes");
|
||||
//TimeTaker timer2("Client::addNode(): updateMeshes");
|
||||
|
||||
for(core::map<v3s16, MapBlock * >::Iterator
|
||||
i = modified_blocks.getIterator();
|
||||
i.atEnd() == false; i++)
|
||||
{
|
||||
v3s16 p = i.getNode()->getKey();
|
||||
m_env.getClientMap().updateMeshes(p, m_env.getDayNightRatio());
|
||||
//m_env.getClientMap().updateMeshes(p, m_env.getDayNightRatio());
|
||||
addUpdateMeshTaskWithEdge(p);
|
||||
}
|
||||
}
|
||||
|
||||
|
11
src/main.cpp
11
src/main.cpp
@ -116,6 +116,11 @@ Gaming ideas:
|
||||
Game content:
|
||||
-------------
|
||||
- Glass blocks
|
||||
- WHen furnace is destroyed, move items to player's inventory
|
||||
- Growing grass, decaying leaves
|
||||
- This can be done in the active blocks I guess.
|
||||
- Lots of stuff can be done in the active blocks.
|
||||
- Uh, is there an active block list somewhere?
|
||||
|
||||
Documentation:
|
||||
--------------
|
||||
@ -162,7 +167,7 @@ TODO: Make fetching sector's blocks more efficient when rendering
|
||||
|
||||
TODO: Flowing water animation
|
||||
|
||||
* Combine meshes to bigger ones in ClientMap and set them EHM_STATIC
|
||||
SUGG: Combine meshes to bigger ones in ClientMap and set them EHM_STATIC
|
||||
|
||||
SUGG: Draw cubes in inventory directly with 3D drawing commands, so that
|
||||
animating them is easier.
|
||||
@ -190,6 +195,10 @@ SUGG: Add a "description" field to InventoryList and show it in
|
||||
GUIInventoryMenu
|
||||
- If separate menus are made for everything, this is not needed
|
||||
|
||||
TODO: See what is the main slowdown when a node is added or removed
|
||||
and make it asynchronous at least for other players
|
||||
- It probably is updateMeshes. How 'bout making it asynchronous?
|
||||
|
||||
Server:
|
||||
-------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user