Commit Graph

64 Commits

Author SHA1 Message Date
TheMode
5b1784fa39 Fix line ending 2021-04-21 14:34:16 +02:00
TheMode
73dee1fb1a Better abstraction 2021-04-21 11:27:49 +02:00
TheMode
d8e28ad73a Remove unnecessary volatile, fix acquisition from threads other than the tick ones 2021-04-19 15:25:19 +02:00
TheMode
321d185ffe use a ReentrantLock instead of guava monitor 2021-04-19 11:57:42 +02:00
TheMode
562927ee44 Added comment 2021-04-19 08:53:54 +02:00
TheMode
44b22ce1f1 Reduce monitor acquisition 2021-04-19 08:51:44 +02:00
TheMode
a6b1749e9e Added max refresh time 2021-04-19 08:17:00 +02:00
TheMode
1dbd3078c3 Fix incremental thread refresh 2021-04-18 11:53:38 +02:00
TheMode
92f30070db Implement incremental chunk thread refresh 2021-04-18 11:28:28 +02:00
TheMode
2df5484e1a Dynamic chunk thread change 2021-04-18 06:43:51 +02:00
TheMode
e9f13d0a82 WIP dynamic chunk thread change 2021-04-18 06:29:44 +02:00
TheMode
2c1084d97b Use hashcode 2021-04-18 02:22:35 +02:00
TheMode
7dd6aa2360 Separate PerChunkThreadProvider from PerInstanceThreadProvider, support arbitrary ThreadProvider#findThread number 2021-04-18 01:55:35 +02:00
TheMode
f0607f776a Remove unused class 2021-04-18 00:08:13 +02:00
TheMode
23664292de Simplify acquisition, reduce overhead 2021-04-17 14:22:47 +02:00
TheMode
3b7353300d Acquisition rework 2021-04-17 02:50:33 +02:00
Eoghanmc22
1bb5c7e89b fix deadlock 2021-04-15 14:23:18 -04:00
TheMode
aef05893e1 Fix high CPU usage on startup 2021-04-15 04:11:52 +02:00
TheMode
f4ee5505ca Fix tick thread not being properly terminated 2021-04-15 04:06:55 +02:00
TheMode
b3a548287a Improve thread safety 2021-04-15 03:53:18 +02:00
TheMode
2b79e91295 Add comment + todo 2021-04-15 03:38:27 +02:00
TheMode
bd3e4e2f0a Added Acquirable#currentEntities 2021-04-15 03:08:19 +02:00
TheMode
11b1bbea2e Update entities thread 2021-04-15 01:44:08 +02:00
TheMode
fec36d4706 Run thread directly 2021-04-14 22:48:13 +02:00
TheMode
7dc0387ecf Add a way to find the current threadid of a chunk 2021-04-14 22:22:46 +02:00
TheMode
79f0d97664 Cleanup tick preparation 2021-04-14 21:41:14 +02:00
TheMode
a55ea6d0c2 WIP per-chunk thread 2021-04-14 21:29:37 +02:00
TheMode
356150847e Per-chunk batch management 2021-04-14 20:32:02 +02:00
TheMode
ccab205a54 Initial acquirable API commit 2021-04-14 20:12:56 +02:00
TheMode
17fcd23c77 Fix condition, add documentation 2021-04-11 23:52:12 +02:00
TheMode
5ef4d0f9b4 Reduce the overhead of converting chunk indexes to chunk object, dont tick empty entity list 2021-04-09 18:22:29 +02:00
Tyan
855c8af455 Added ExceptionManager for custom exception handling 2021-01-20 11:43:45 +01:00
themode
37a626121b Set the default thread provider thread count to PROCESSORS*2 2020-11-17 02:56:55 +01:00
themode
0abedd7453 Optimization to prevent permanent map lookup 2020-11-14 09:02:29 +01:00
themode
ade727cd0f Cleanup + created SingleThreadProvider 2020-11-13 19:43:22 +01:00
themode
0ab9c79a28 Prevent array resizing during server tick 2020-11-13 03:26:35 +01:00
themode
1d30e6e953 Use the Validator interface when possible for readability 2020-11-07 04:28:50 +01:00
themode
6e36f3242d Added InstanceContainer#copy and Chunk#copy 2020-10-31 19:22:23 +01:00
themode
00ce2be258 Fixed shared instances tick being called 2 times 2020-10-31 02:55:55 +01:00
themode
419541b878 UpdateManager comments + synchronization fix 2020-10-22 15:57:27 +02:00
themode
3cb880cf80 General cleanup 2020-10-22 12:55:53 +02:00
themode
660a67e53e English fix 2020-10-15 21:16:31 +02:00
themode
f1dccfacc3 Fixed instance ticks not being executed if the chunk list is empty 2020-10-13 04:10:37 +02:00
themode
04498ed0f0 Chunk code cleanup & optimization 2020-10-05 10:03:25 +02:00
themode
cb52a9d119 PerGroupChunkProvider cleanup 2020-09-03 20:52:21 +02:00
themode
78dd2cb005 Fix tick update for SharedInstance 2020-09-01 20:20:46 +02:00
themode
8b30caa8c8 Micro optimization + cleanup 2020-08-19 01:24:51 +02:00
themode
e5e1d1614b Optimize chunk index to coordinate conversion + made the chunk map in InstanceContainer using long primitive but non-concurrent, requiring synchronization 2020-08-17 16:50:23 +02:00
Eoghanmc22
284613a1a8 fix merge 2020-08-15 10:00:50 -04:00
Eoghanmc22
1b7641c0e1 Merge branches '1.16.2' and 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/main/java/net/minestom/server/UpdateManager.java
	src/main/java/net/minestom/server/thread/PerGroupChunkProvider.java
	src/main/java/net/minestom/server/thread/PerInstanceThreadProvider.java
2020-08-14 20:52:34 -04:00