3
0

Some portion of optimizations:

* Clear outgoing packet queue after player disconnect
* Disable sleep between chunk saving
* Put 2x4096 bytes instead 2048x4 bytes for region file aligment
* Using map to search player by name instead iterating over all players
* Some tweaks for decorations (item frames, maps)
This commit is contained in:
Prototik
2015-10-18 23:58:28 +07:00
parent 299cf0ed96
commit 7defe0bb29
17 changed files with 225 additions and 41 deletions

View File

@ -608,7 +608,7 @@
}
+ // CraftBukkit start
+ if (p_147359_1_ == null)
+ if (p_147359_1_ == null || this.processedDisconnect) // KCauldron
+ {
+ return;
+ }
@ -1822,7 +1822,7 @@
{
packetbuffer = new PacketBuffer(Unpooled.wrappedBuffer(p_147349_1_.func_149558_e()));
@@ -1093,16 +2409,18 @@
{
if (itemstack.getItem() == Items.writable_book && itemstack.getItem() == itemstack1.getItem())
{
- itemstack1.setTagInfo("pages", itemstack.getTagCompound().getTagList("pages", 8));
@ -1845,7 +1845,7 @@
finally
{
@@ -1135,19 +2453,18 @@
{
if (itemstack.getItem() == Items.written_book && itemstack1.getItem() == Items.writable_book)
{
- itemstack1.setTagInfo("author", new NBTTagString(this.playerEntity.getCommandSenderName()));

View File

@ -77,7 +77,7 @@
packet.processPacket(this.netHandler);
}
@@ -225,6 +257,8 @@
@@ -225,8 +257,11 @@
public void closeChannel(IChatComponent p_150718_1_)
{
@ -85,8 +85,11 @@
+
if (this.channel.isOpen())
{
+ this.outboundPacketsQueue.clear(); // KCauldron
this.channel.close();
@@ -254,7 +288,7 @@
this.terminationReason = p_150718_1_;
}
@@ -254,7 +289,7 @@
{
;
}
@ -95,7 +98,7 @@
try
{
p_initChannel_1_.config().setOption(ChannelOption.TCP_NODELAY, Boolean.valueOf(false));
@@ -322,6 +356,13 @@
@@ -322,6 +357,13 @@
return channel;
}