mirror of
https://github.com/minetest/minetest.git
synced 2024-11-05 15:23:45 +01:00
Optimize usage of TOSERVER_GOTBLOCKS packet
This commit is contained in:
parent
4d7f296717
commit
19426387d4
@ -475,6 +475,7 @@ void Client::step(float dtime)
|
|||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
int num_processed_meshes = 0;
|
int num_processed_meshes = 0;
|
||||||
|
std::vector<v3s16> blocks_to_ack;
|
||||||
while (!m_mesh_update_thread.m_queue_out.empty())
|
while (!m_mesh_update_thread.m_queue_out.empty())
|
||||||
{
|
{
|
||||||
num_processed_meshes++;
|
num_processed_meshes++;
|
||||||
@ -513,14 +514,18 @@ void Client::step(float dtime)
|
|||||||
m_minimap->addBlock(r.p, minimap_mapblock);
|
m_minimap->addBlock(r.p, minimap_mapblock);
|
||||||
|
|
||||||
if (r.ack_block_to_server) {
|
if (r.ack_block_to_server) {
|
||||||
/*
|
if (blocks_to_ack.size() == 255) {
|
||||||
Acknowledge block
|
sendGotBlocks(blocks_to_ack);
|
||||||
[0] u8 count
|
blocks_to_ack.clear();
|
||||||
[1] v3s16 pos_0
|
}
|
||||||
*/
|
|
||||||
sendGotBlocks(r.p);
|
blocks_to_ack.emplace_back(r.p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (blocks_to_ack.size() > 0) {
|
||||||
|
// Acknowledge block(s)
|
||||||
|
sendGotBlocks(blocks_to_ack);
|
||||||
|
}
|
||||||
|
|
||||||
if (num_processed_meshes > 0)
|
if (num_processed_meshes > 0)
|
||||||
g_profiler->graphAdd("num_processed_meshes", num_processed_meshes);
|
g_profiler->graphAdd("num_processed_meshes", num_processed_meshes);
|
||||||
@ -1069,10 +1074,13 @@ void Client::sendDeletedBlocks(std::vector<v3s16> &blocks)
|
|||||||
Send(&pkt);
|
Send(&pkt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Client::sendGotBlocks(v3s16 block)
|
void Client::sendGotBlocks(const std::vector<v3s16> &blocks)
|
||||||
{
|
{
|
||||||
NetworkPacket pkt(TOSERVER_GOTBLOCKS, 1 + 6);
|
NetworkPacket pkt(TOSERVER_GOTBLOCKS, 1 + 6 * blocks.size());
|
||||||
pkt << (u8) 1 << block;
|
pkt << (u8) blocks.size();
|
||||||
|
for (const v3s16 &block : blocks)
|
||||||
|
pkt << block;
|
||||||
|
|
||||||
Send(&pkt);
|
Send(&pkt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -465,7 +465,7 @@ private:
|
|||||||
void promptConfirmRegistration(AuthMechanism chosen_auth_mechanism);
|
void promptConfirmRegistration(AuthMechanism chosen_auth_mechanism);
|
||||||
void startAuth(AuthMechanism chosen_auth_mechanism);
|
void startAuth(AuthMechanism chosen_auth_mechanism);
|
||||||
void sendDeletedBlocks(std::vector<v3s16> &blocks);
|
void sendDeletedBlocks(std::vector<v3s16> &blocks);
|
||||||
void sendGotBlocks(v3s16 block);
|
void sendGotBlocks(const std::vector<v3s16> &blocks);
|
||||||
void sendRemovedSounds(std::vector<s32> &soundList);
|
void sendRemovedSounds(std::vector<s32> &soundList);
|
||||||
|
|
||||||
// Helper function
|
// Helper function
|
||||||
|
Loading…
Reference in New Issue
Block a user