1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Optimize SAO getStaticData by using std::string pointer instead of return copy

Signed-off-by: Loic Blot <loic.blot@unix-experience.fr>
This commit is contained in:
Loic Blot 2017-01-11 22:48:14 +01:00 committed by Loïc Blot
parent e2dd96b432
commit ef0aa7d5b5
4 changed files with 14 additions and 12 deletions

View file

@ -1694,7 +1694,8 @@ u16 ServerEnvironment::addActiveObjectRaw(ServerActiveObject *object,
{
// Add static object to active static list of the block
v3f objectpos = object->getBasePosition();
std::string staticdata = object->getStaticData();
std::string staticdata = "";
object->getStaticData(&staticdata);
StaticObject s_obj(object->getType(), objectpos, staticdata);
// Add to the block where the object is located in
v3s16 blockpos = getNodeBlockPos(floatToInt(objectpos, BS));
@ -1980,7 +1981,8 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
<<std::endl;
continue;
}
std::string staticdata_new = obj->getStaticData();
std::string staticdata_new = "";
obj->getStaticData(&staticdata_new);
StaticObject s_obj(obj->getType(), objectpos, staticdata_new);
block->m_static_objects.insert(id, s_obj);
obj->m_static_block = blockpos_o;
@ -2020,7 +2022,8 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
if(obj->isStaticAllowed())
{
// Create new static object
std::string staticdata_new = obj->getStaticData();
std::string staticdata_new = "";
obj->getStaticData(&staticdata_new);
StaticObject s_obj(obj->getType(), objectpos, staticdata_new);
bool stays_in_same_block = false;