Commit Graph

155 Commits

Author SHA1 Message Date
embeddedt
ebafc9a0cc
Remove log message 2023-02-11 09:32:11 -05:00
embeddedt
928d2e3f02
Tweak model loading 2023-02-11 09:31:28 -05:00
embeddedt
80a4585efd
Do not deserialize model JSONs in parallel
Some Forge model loaders attempt to read more models while
deserializing, which causes issues
2023-02-09 22:01:32 -05:00
embeddedt
08fd01c09f More improvements to async model loading, but still crashes sometimes 2023-02-09 14:33:06 -05:00
embeddedt
eb99ce47d8 Measure vanilla bootstrap time 2023-02-09 10:44:35 -05:00
embeddedt
611a8e18cb Add patch for Netty packet leak
Fixes https://github.com/embeddedt/ModernFix/issues/15
Related:
https://github.com/EnigmaticaModpacks/Enigmatica6/issues/4469
https://github.com/MinecraftForge/MinecraftForge/pull/8181
https://github.com/MinecraftForge/MinecraftForge/pull/8042
2023-02-09 10:03:37 -05:00
embeddedt
6ebc3bbe03 Implement parallel baking for vanilla models 2023-02-08 15:20:07 -05:00
embeddedt
0111a8e2ec Improve reliability of async blockstate rebuild logic 2023-02-08 14:02:35 -05:00
embeddedt
ae796f2386 Revert unfinished change 2023-02-08 13:58:07 -05:00
embeddedt
3d7422496e Fix occasional CME when rebuilding blockstate cache 2023-02-08 09:56:17 -05:00
embeddedt
0ffb3cc973
Further optimizations to model loading 2023-02-06 10:01:15 -05:00
embeddedt
30ae895fa5
Add option to rebuild blockstate caches on a background thread 2023-02-04 12:56:32 -05:00
embeddedt
e9a6a3d194
More tweaks to model loading 2023-02-04 12:43:38 -05:00
embeddedt
aead8ef90f
Disable resource location deduplication for now due to CPU time 2023-02-01 21:19:33 -05:00
embeddedt
fcc6abe3b7
Cache model dependencies and materials 2023-01-29 22:24:12 -05:00
embeddedt
72def15ac6
More tweaks to executor 2023-01-29 22:00:00 -05:00
embeddedt
a71a036ae8
Move vanilla model baking earlier in the loading process 2023-01-29 21:37:18 -05:00
embeddedt
9f112f2fbc
Fix splash screen freezing when workers are busy 2023-01-29 20:32:57 -05:00
embeddedt
c861870306
Remove log messages from resource pack cache
This feature is pretty stable
2023-01-29 20:22:53 -05:00
embeddedt
f24f63d6d9
Reduce performance impact when building ingredient filter 2023-01-29 20:18:05 -05:00
embeddedt
d1aa03a0c5
Tweak JEI injection for compatibility with 7.8 2023-01-29 18:19:21 -05:00
embeddedt
536f6b9a50
Handle unnormalized resource paths
Fixes #14
2023-01-28 21:01:45 -05:00
embeddedt
48b4f976df
Add mod scanning optimization (requires Blacksmith) 2023-01-28 20:51:24 -05:00
embeddedt
8dc915037c
Improve blockstate cache rebuild logic, remove vanilla search trees if JEI is installed 2023-01-28 12:49:38 -05:00
embeddedt
fa9a3bb890
Avoid recreating arrays when computing block state cache 2023-01-28 11:19:39 -05:00
embeddedt
5c914deeb7
More experimental features 2023-01-28 10:56:50 -05:00
embeddedt
5c4e77b211
Enable class search cache 2023-01-28 10:13:39 -05:00
embeddedt
ccc3959328
Experimental multipart parallelizations 2023-01-28 10:06:13 -05:00
embeddedt
8e99cac6a7
Code cleanup 2023-01-28 08:29:48 -05:00
embeddedt
497393bf59
Adjust ArgsClassGenerator start index based on class cache 2023-01-28 08:27:38 -05:00
embeddedt
ba30b37552
Disable biome container compression when Chocolate Fix is installed 2023-01-22 21:10:02 -05:00
embeddedt
8a38642793
Fix hang 2023-01-22 21:09:47 -05:00
embeddedt
f2de12329e
Add model predicate flattening 2023-01-22 20:23:41 -05:00
embeddedt
6b28cb5ebc
Port biome palette and chunk section optimizations from Hydrogen 2023-01-22 20:11:03 -05:00
embeddedt
ad5fcf44e5
Add theoretical performance optimization for Scanner
Useless for now until I find a way of running transformers
before mods load
2023-01-22 18:56:43 -05:00
embeddedt
8cdc425d7d
Ensure the main thread does not spin when no tasks are available 2023-01-22 18:07:48 -05:00
embeddedt
a8df933e19
Add API to allow stopping already stopped AsyncStopwatch 2023-01-22 16:32:50 -05:00
embeddedt
23b4652864
Improve class transformer cache 2023-01-22 14:23:06 -05:00
embeddedt
95d7410722
Add FIXME note to MixinTransformerHasher 2023-01-22 12:47:37 -05:00
embeddedt
2a29aee37b
Move hash computation into its own method 2023-01-21 22:08:59 -05:00
embeddedt
bbe5709070
Small classloader optimization 2023-01-21 21:48:19 -05:00
embeddedt
09ffb73a70
Don't clear blockstate cache field
This will break one of FerriteCore's optimizations
2023-01-21 21:15:24 -05:00
embeddedt
a800f6d704
Add ResourceLocation deduplication from Hydrogen 2023-01-21 21:15:13 -05:00
embeddedt
15524d975d
Store classes in separate files 2023-01-21 20:57:07 -05:00
embeddedt
277ea384e7
Support injecting new transformer outside of dev 2023-01-21 20:31:34 -05:00
embeddedt
ac99791d3a
Deduplicate empty byte arrays 2023-01-21 12:39:27 -05:00
embeddedt
41eef0b6ab
New class transformer cache
Hashes individual mixins/coremods and therefore needs no special invalidation logic
2023-01-21 12:33:17 -05:00
embeddedt
bee6c6f272 Add config options to enable/disable the transformer cache and class search cache 2023-01-19 10:30:35 -05:00
embeddedt
abc7f77d44 Fix mixin warnings 2023-01-19 10:18:02 -05:00
embeddedt
cc953a2e88 Remove unused import 2023-01-19 10:05:26 -05:00
embeddedt
cf2c6a2b7e Disable location cache again (manual timing showed it's not effective) 2023-01-19 10:03:31 -05:00
embeddedt
802a0587c7
Enable class location cache 2023-01-19 08:57:52 -05:00
embeddedt
d2f5c4b15a
Implement class location cache 2023-01-18 20:55:35 -05:00
embeddedt
6dbf4b5a12 WIP 2023-01-18 09:45:11 -05:00
embeddedt
b806438bf9 Switch to not using service 2023-01-18 09:21:22 -05:00
embeddedt
c01ea4fcc4
WIP: class search improvements 2023-01-18 09:04:50 -05:00
embeddedt
c8a5d62e34
Initial implementation of transformer caching 2023-01-15 14:52:37 -05:00
embeddedt
b0a2da715e
Disable async JEI by default when Modern UI is installed 2023-01-14 19:51:47 -05:00
embeddedt
41ed759938
1.4.3 - correctly handle JEI plugins that throw errors when sending runtime
Fixes #9
2023-01-14 16:59:32 -05:00
embeddedt
9e3ae9d8c0
Make BakeReason more resilient 2023-01-12 21:32:19 -05:00
embeddedt
f4dfd428df
Use custom interruption flag for JEI reload thread
Fixes #5
2023-01-08 19:02:09 -05:00
embeddedt
df50f1e3a5
Turn off preloading of block classes
When enabled, the parallel DeferredRegister system should yield
the same result anyway.
2023-01-07 21:57:10 -05:00
embeddedt
572cbaf9bd
Make BlockColors thread-safe
Workaround for issues like https://github.com/vadis365/Mob-Grinding-Utils/issues/240,
as too many mods do this
2023-01-07 19:03:47 -05:00
embeddedt
24990ba089
Enable blockstate cache rebuild as it should be completely safe 2023-01-07 13:43:39 -05:00
embeddedt
d6a2760824
Disable risky parallel optimizations by default 2023-01-07 13:08:29 -05:00
embeddedt
933f495d64
Only prefill block suppliers 2023-01-07 13:07:56 -05:00
embeddedt
0062bc9bae
Make dispenser behavior registry thread-safe 2023-01-07 13:07:06 -05:00
embeddedt
9d0677a3d7
Make OrderedParallelModDispatcher more reliable 2023-01-07 13:06:53 -05:00
embeddedt
dd91031382
Cache all DeferredRegister suppliers 2023-01-07 12:49:07 -05:00
embeddedt
0fb6c71734
Refactor blockstate caching 2023-01-07 12:37:44 -05:00
embeddedt
9456eac7df
WIP: more parallelization 2023-01-07 11:11:43 -05:00
embeddedt
2525a64313
Move mod dispatching logic into its own class 2023-01-06 21:57:44 -05:00
embeddedt
5c0d23b2f0
Parallelize construction of DeferredRegister registry objects 2023-01-06 21:47:06 -05:00
embeddedt
c6323fd62e
Scan for all Block classes and preload them on worker threads
This helps move towards multithreading most VoxelShape computations
2023-01-06 16:50:52 -05:00
embeddedt
9ebeec6fc2
Fix crash on dedicated server 2023-01-06 14:31:15 -05:00
embeddedt
87b644834f
Adjust thread priorities 2023-01-06 14:31:09 -05:00
embeddedt
b0dfd4a4ef
Make reload thread name more useful for debugging 2023-01-06 11:01:54 -05:00
embeddedt
3695473283
Make JEILoadingInterruptedException an error so it propagates further 2023-01-06 10:59:48 -05:00
embeddedt
75695cf759
Patch OBJLoader to support parallel loading
Fixes #4
2023-01-06 10:49:45 -05:00
embeddedt
f43d54eafd
Implement facility to process specific JEI plugins on the main thread 2023-01-06 10:42:48 -05:00
embeddedt
41da489c85
Add async JEI loading 2023-01-05 20:50:30 -05:00
embeddedt
21d559ab94
Add chunk saving fix 2023-01-05 18:19:39 -05:00
embeddedt
ac27dbca4e
Fix mcmeta files not being included in hasResource() calls 2023-01-05 11:06:33 -05:00
embeddedt
588dc1a86e
Add config 2023-01-04 20:26:29 -05:00
embeddedt
dc18e782c4
Don't cache invalid resource locations at all
Fixes #2
2023-01-04 17:23:34 -05:00
embeddedt
773800830f
Optimize VanillaPack.hasResource 2023-01-04 15:28:58 -05:00
embeddedt
c0869fb1b2
Fix crash outside dev 2023-01-04 15:28:51 -05:00
embeddedt
89ebab3ab8
Trim ModelManager maps 2023-01-04 14:24:54 -05:00
embeddedt
50fb19156c
Time game startup as well 2023-01-04 14:24:33 -05:00
embeddedt
d13fb0850d
Use up to 255 worker threads (matches 1.18) 2023-01-04 09:53:57 -05:00
embeddedt
bf4496341b
Optimize ModFileResourcePack.hasResource 2023-01-03 21:50:48 -05:00
embeddedt
80e273bf12
Fix crash when running outside dev 2023-01-03 21:50:39 -05:00
embeddedt
878d682eee
Reduce log output when preloading JSONs 2023-01-03 21:11:56 -05:00
embeddedt
fe1e39ad10
Remove parallel baking :(
Turns out it's not safe after all.
2023-01-03 20:55:25 -05:00
embeddedt
3d80d5a90e
Mojmap 2023-01-03 16:14:42 -05:00
embeddedt
0a8fbf9114
Validate model JSON paths before preloading them
Fixes #1
2023-01-03 13:52:07 -05:00
embeddedt
26915c6af4
Skip recomputing block state cache when unnecessary
Based on https://github.com/MinecraftForge/MinecraftForge/pull/7496
2023-01-02 21:56:42 -05:00
embeddedt
dff8c4cc35
Parallel texture collection 2023-01-02 21:05:30 -05:00
embeddedt
9180c79854
Parallelize parts of model loading/baking 2023-01-02 13:56:51 -05:00
embeddedt
f2e557253e
Remove biome temperature caching
Based on 4553ccb0a0
2023-01-02 10:25:39 -05:00