summaryrefslogtreecommitdiff
path: root/src/mapblock_mesh.h
diff options
context:
space:
mode:
authorLoïc Blot <nerzhul@users.noreply.github.com>2017-04-29 20:36:09 +0200
committerGitHub <noreply@github.com>2017-04-29 20:36:09 +0200
commit95409da87d009c352f27c737621972c2225796c9 (patch)
treec7ba89f77a18316f33cd71637398ae3f0f86bf0d /src/mapblock_mesh.h
parentc729543ec4ab5cba167b97f0b8c796de3de88a26 (diff)
downloadminetest-95409da87d009c352f27c737621972c2225796c9.tar.gz
minetest-95409da87d009c352f27c737621972c2225796c9.tar.bz2
minetest-95409da87d009c352f27c737621972c2225796c9.zip
Optimize updateFastFaceRow processing by removing some TileSpec copy (#5678)
* Optimize updateFastFaceRow processing by removing some TileSpec copy It permit to decrease this function from 54% runtime to 45% and reduce copy from 14% runtime to 12.5% getTileInfo also reduced from 27% to 23% * makeFastFace should use a const ref too this trigger a const pointer need in the underlying function Also fix some code style and prevent calculating 4 times the same position at a point * Reduce a comparison cost for lights in updateFastFaceRow
Diffstat (limited to 'src/mapblock_mesh.h')
-rw-r--r--src/mapblock_mesh.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mapblock_mesh.h b/src/mapblock_mesh.h
index f32df3958..93d932a7b 100644
--- a/src/mapblock_mesh.h
+++ b/src/mapblock_mesh.h
@@ -267,8 +267,10 @@ void final_color_blend(video::SColor *result,
// Retrieves the TileSpec of a face of a node
// Adds MATERIAL_FLAG_CRACK if the node is cracked
-TileSpec getNodeTileN(MapNode mn, v3s16 p, u8 tileindex, MeshMakeData *data);
-TileSpec getNodeTile(MapNode mn, v3s16 p, v3s16 dir, MeshMakeData *data);
+// TileSpec should be passed as reference due to the underlying TileFrame and its vector
+// TileFrame vector copy cost very much to client
+void getNodeTileN(MapNode mn, v3s16 p, u8 tileindex, MeshMakeData *data, TileSpec &tile);
+void getNodeTile(MapNode mn, v3s16 p, v3s16 dir, MeshMakeData *data, TileSpec &tile);
#endif