2024-12-15 02:02:34|Myriagame |source:minecraft skins
introduction
Many Minecraft modules integrate functional characteristics in 2D and 3D environments [1] [2] [3], but violent methods are often proven to be inefficient.To this end, we proposed Tetrachord Lib, a lightweight module, aiming to provide various optimized data structures.
Related work
Server -side optimization MOD
Jellysquid3_ [4] proposed Lithium, which is a breakthrough optimization module that can improve the performance of the Minecraft server.This module uses accurate algorithms to minimize the access of blocks and blocks, which not only enhances world generation, but also enhances biological AI, collision detection, interest points (POI) discovery and other key aspects to improve calculation efficiency and efficiency andReduce the number of milliseconds per moment (MSPT) of the server.
Spottedstar [5] proposed StarLight, which is an innovative modification that redesigned the light engine of Minecraft to improve the performance of block generation, square placement and destruction.Compared with PHOSPHOR, StarLight is not just modified on the original lighting system -on the contrary, it has revolutionized its revolutionary change by introducing new algorithms.
Tetrachord Lib is different from the above two mods. By achieving high -performance data structures and exposure interfaces to other module developers to improve program operation speed and achieve the effect of computing and optimization.
Data structure
KD tree [7] is a data structure that is used in high -dimensional spaces to store and organize K dimins.As a binary tree, each node in the KD tree represents a K diminning duty and is partitioned according to the feature value (dimension) of the data point.KD trees are particularly suitable for scope inquiry and recent neighboring search in high -dimensional data sets. They also help optimize data retrieval in the Minecraft world.
KD tree chart shown
Line segment tree [8] is a data structure for processing range updates and query.It divides a segment into smaller sub -parts and organizes them in layered tissue with a tree structure.Line segment trees are very effective for interval data update and query.In the Minecraft world represented by 3D tensor, when the scope of frequent scope updates and query, the use of line trees can greatly improve performance.
Line section tree icon
experiment
Evaluation indicator
Spark is a lightweight performance analyzer MOD, which can display the running time, memory and CPU usage of each MOD in detail, the number of milliseconds per person (MSPT), and other performance indicators of the client and server.We use Spark and select the module running time and MSPT as an indicator to measure the TETRACHORD LIB optimization ability.
Benchmark
We have implemented the above data structure and used the following benchmark to perform experiments:
No blame
In specific scenarios, when the player lits the bonfire, the area within the area of several blocks will no longer produce monsters.Primitive MOD [1] provides a method of violence involving multiple block access, resulting in a significant increase in the MSPT on the server and slowing the speed of the game program.We choose to use the KD tree to achieve this demand.We used Spark Profiler to record a normal game for 1 minute for different parameters. The experimental results are shown in the figure below:
No blame
Increased experience in the label near the beacon to drop the experience value
Considering the situation of the player's mining block near the beacon, suppose they can get additional experience rewards according to the number of minerals around the mining block.The following table illustrates the response area and "ore score" related to each mineral stagnation. The final excavated block will drop [(current position ore score +1) / 2] Point experience value:
Ore block Type Copper Block Iron Block Gold Block Diamond Block Lower Alloy Block response area 5x59x913x17x171719x19 ore score 11123
We choose a practical 2D line segment tree to maintain the "ore score" and the processing interval update and query, and use Spark Profiler to record the performance data of 32 ore stalks and 32 square block mining of different parameters. The experimental results are shown in the figure below:
Increased experience in the label near the beacon to drop the experience value
in conclusion
Experiments show that Tetracord Lib has played a significant optimization role in different circumstances, and provides an efficient method to realize the update and query needs of 2D and 3D spaces.
Tetrachord Lib Mod is currently running as a library, so developers can use it as dependent items to improve MOD performance.There is no mandatory requirement for modules on the client or server -this will depend on the needs of downstream expansion modules.
Reference information
[1] Serilum. There is no strange fire. MC Encyclopedia 2019.
[2] Serilum. Healing Camp Fire. MC Encyclopedia 2019.
[3] Mikul, chubbymomo, skinnymomo. Cold sweat. MC Encyclopedia 2021. [4] Jellysquid3_. Lithium. Mc Encyclopedia 2020.
[5] spottedstar. Starlight. MC Encyclopedia 2021.
[6] jellysquid3_. Phosphorus. MC Encyclopedia 2019.
[7] Jon Louis Bentley. Multidimensional Binary Search Trees used for associated search. *Commun. ACM 18, 9 (sept. 1975) *, 509–517.
[8] Jon Louis Bentley. Solutions to Klee's RECTANGLEPLEMS, *Unpublished Manuscript *, 1977.
[9] Iucko. Spark. MC Encyclopedia 2020.
In addition to other statements, MCMOD.CN, all open public editing content uses the BY-NC-SA 3.0 protocol.
National Service DNF Dark Ni
2025-01-28 09:19:27The new screenshot of the be
2025-01-28 09:18:57The 15th anniversary wallpap
2025-01-28 09:18:273DM Xuanyuan Sinicization Gr
2025-01-28 09:17:57French magazine is the first
2025-01-28 09:17:27The sneak game "Republic" wi
2025-01-28 09:16:57The story between humans and
2025-01-28 09:16:27Capture "Trinity 3: Artifact
2025-01-28 09:15:27Wind direction change "Myste
2025-01-28 09:14:57DICE's new project "Dream" w
2025-01-28 09:14:27Pirate Minecraft Skins
Minecraft Skins
2024-12-10 04:11:27Pirate Minecraft Skins
Minecraft Skins
2024-12-10 04:11:26Master Minecraft Skins
Minecraft Skins
2024-12-10 04:11:25King Minecraft Skins
Minecraft Skins
2024-12-10 04:11:25Guide Minecraft Skins
Minecraft Skins
2024-12-10 04:11:24Dark Knight Minecraft Skins
Minecraft Skins
2024-12-10 04:11:23Sparta Minecraft Skins
Minecraft Skins
2024-12-10 04:11:23Moncraft Skins of the War
Minecraft Skins
2024-12-10 04:11:22Red Witch Minecraft Skins
Minecraft Skins
2024-12-10 04:11:22Golden Cavaliers Minecraft S
Minecraft Skins
2024-12-10 04:11:22