5174 Commits

Author SHA1 Message Date
Moritz Zwerger
c6892e4bd3
chunk section: only keep track if section has fluids and not how many, improvements
A lot faster now and the count is not really needed, it will change rarely.
2025-02-06 21:37:15 +01:00
Moritz Zwerger
d2d83d85dc
MobSpawnerBlockEntity::isPlayerInRange: don't wait forever
This workarounds a deadlock.
2025-02-06 21:06:29 +01:00
Moritz Zwerger
be5dffcc0a
some more freeze dump improvements 2025-02-06 18:57:26 +01:00
Moritz Zwerger
e077192eb2
freeze dump: print lock details
This way it is clear who is holding the lock and probably causing the thread lock by not unlocking/releasing it again
2025-02-06 18:43:29 +01:00
Moritz Zwerger
c1bcfbe982
fix kutil version
my bad, called the local build version 1.27.0
2025-02-06 13:49:54 +01:00
Moritz Zwerger
c2b7890b2f
optimize entity attribute calculation
Armor stands (living entities) need that to weather it is possible to target them. Reduces memory usage (enum map, only on demand, skip empty map).
2025-02-06 13:44:35 +01:00
Moritz Zwerger
9555ff19ea
render prepare: run Renderer::postPrepareDraw as soon as async is possible
Now it is not waiting for the previous stage (async prepare) anymore and can start with tasks asap. This reduces the frame time, because it does not need to waiting blocked most times.
2025-02-06 12:51:24 +01:00
Moritz Zwerger
13037f4e0a
renderer manager: enqueue async preparing directly after sync preparing and wait after all were enqueued.
Async renderers can now already complete their preparing when others are still preparing in their sync phase. This should reduce the frame time a bit. It can even be enhanced with some feedback/task scheduler (track what time it takes avg and queue that one first next frame or so).
2025-02-06 10:00:29 +01:00
Moritz Zwerger
88df92ce84
chunk renderer: work on meshing queue async
Then it does not block the render preparing pipeline anymore. Same for sky renderer.
2025-02-06 09:58:03 +01:00
Moritz Zwerger
995e4be2eb
fix building with java 11
Those functions are not available there and should be imported.
2025-02-06 09:56:35 +01:00
Moritz Zwerger
52c3f7372e
local chunk manager: only update when position changed 2025-02-05 14:36:38 +01:00
Moritz Zwerger
ba8353d1f0
fragmented array list: fix bad return 2025-02-04 22:06:04 +01:00
Moritz Zwerger
20f4733771
benchmark solid section mesher 2025-02-04 21:56:48 +01:00
Moritz Zwerger
c21e1cb852
WeightedBlockRender: unpack if total weight < 20
This makes it a bit faster to lookup the model. It can even be more enhanced by unpacking the whole section once (every model) and then running culling and stuff afterwards. In the future...
2025-02-04 21:47:49 +01:00
Moritz Zwerger
a6cf950e29
FragmentedArrayFloatList: optimize
Just for adding 7 floats, that method is used during chunk meshing. The case that the first incomplete list has more than 7 floats available is probably in 99% of cases the case and not trying to push the buffer every time improves performance (it is way faster, meshing a random chunk is now twice as fast)
2025-02-04 20:24:27 +01:00
Moritz Zwerger
c11d64f2d7
meshes/float lists: make size a power of 2
This way it is way more likely to be page aligned and memory access should be faster
2025-02-04 20:21:20 +01:00
Moritz Zwerger
7229f9c06e
render stats: reduce avg
Otherwise fps are building up when joining?
2025-02-03 22:21:27 +01:00
Moritz Zwerger
8dca129517
bump dependencies 2025-02-03 22:20:33 +01:00
Moritz Zwerger
b2480980e9
port to kutil 1.27
This update has some qol updates and a lot of juicy performance updates. Locking now uses javas integrated ReentrantLock which is 10 times faster than the synchronized lock (benchmarked it). Due to minosofts async nature, a lot of locking is needed (especially for time critical parts like in rendering). Locking is already reduced to a minimum, but it should still give a small performance boost.

(more ports in there)
2025-02-03 22:12:37 +01:00
Moritz Zwerger
6659a0fef9
exclude dnsjava service
This is pretty bad, but it breaks minosoft for java18+ atm.

https://github.com/Bixilon/Minosoft/issues/33
2024-12-22 17:31:00 +01:00
Moritz Zwerger
6f9c83d3e5
bump gradle: 8.11.1 2024-12-16 14:00:07 +01:00
Moritz Zwerger
dcaa5eea4d
bump dependencies 2024-12-16 13:59:33 +01:00
Moritz Zwerger
3a608abe2d
bump kutil: 1.26.4 2024-10-29 23:53:15 +01:00
Moritz Zwerger
45a184a1b5
downgrade lwjgl/glfw 2024-10-29 23:36:49 +01:00
Moritz Zwerger
de1d3541a6
rendering: properly close window
This still makes the window freeze on wayland, not sure if I should blame the glfw update to kde.
2024-10-29 23:33:04 +01:00
Moritz Zwerger
8cfa0eb0f1
fix connecting to hostname in play instead of pinged address
This breaks SRV resolving
2024-10-29 23:27:52 +01:00
Moritz Zwerger
ad72c013df
fix plank tests 2024-10-29 23:12:07 +01:00
Moritz Zwerger
5011828949
prepare for kutil 1.26.3 2024-10-29 22:04:12 +01:00
Moritz Zwerger
3c93f7cc45
update: wrap release notes in scroll panel, show if update unavailable for downloading
Fixes GH-31
2024-10-29 22:02:38 +01:00
Moritz Zwerger
c9795c4451
bump dependencies 2024-10-29 21:39:26 +01:00
Moritz Zwerger
88f090464a
bump gradle 2024-10-29 21:34:36 +01:00
Moritz Zwerger
270617d084
readme: education branch 2024-08-11 12:36:43 +02:00
Moritz Zwerger
c473b43154
DummyVendor::toString 2024-08-10 16:00:08 +02:00
Moritz Zwerger
3b391b14a8
local connection: add player to tab list 2024-08-09 22:23:20 +02:00
Moritz Zwerger
eb9c261d15
option to disable profile saving 2024-08-09 22:23:17 +02:00
Moritz Zwerger
2fec0f1df7
add dirt, planks 2024-08-09 12:33:09 +02:00
Moritz Zwerger
716cdf6cf2
properties loader: just append version name
This makes it easily possible to change the edition name (like education)
2024-08-09 12:11:41 +02:00
Moritz Zwerger
2f338f8241
local connection: send game joined message 2024-08-09 12:08:09 +02:00
Moritz Zwerger
dddd0ebde4
legacy chat component reading: remove quotes around text + test 2024-08-06 23:05:33 +02:00
Moritz Zwerger
84e9c897aa
fix render test loader test 2024-08-06 23:04:57 +02:00
Moritz Zwerger
3727368135
fix auto connecting
Some debug code stayed in there for singleplayer...
2024-08-06 22:58:27 +02:00
Moritz Zwerger
2569df18c4
fix some debug generation 2024-08-06 14:44:40 +02:00
Moritz Zwerger
a8f775484b
fix some dangling open file handlers 2024-08-03 14:28:20 +02:00
Moritz Zwerger
d3a7e0473d
opengl: fix screenshot taking if driver is strict (like intel arc gpus) 2024-08-02 20:24:33 +02:00
Moritz Zwerger
9f5caffd82
generator, storage, ... 2024-08-02 20:13:38 +02:00
Moritz Zwerger
e1f5cca87e
create some sort of debug world 2024-08-02 17:12:32 +02:00
Moritz Zwerger
ee02f8bb5c
wip debug world 2024-08-02 14:40:55 +02:00
Moritz Zwerger
aaa195cdc6
port PlaySession to NetworkConnection 2024-08-01 19:48:58 +02:00
Moritz Zwerger
9c5d1cbf7a
server list: fix freeze 2024-08-01 18:18:34 +02:00
Moritz Zwerger
d42f9eb214
abstract server connection more
Server connection is now stateless and is atm always a network connection. It might something else in the future
2024-08-01 18:13:34 +02:00