This mod accelerates the Minecraft Asset Loading system by caching all
of its content. This leads to a much faster game load. It does this by caching all of its content on first launch
and on next launch loading back that exact cache. The cache loading is hyper fast and scalable, utilizing your
entire system.
Important notes:
• The first time you launch DashLoader it will be significantly slower because it needs to
create a cache which contains all the assets Minecraft normally loads. This will also happen every time you change a
mod/resource pack if that configuration does not have an existing cache.
•
DashLoader has been known to be incompatible with a lot of mods. DashLoader 3.0 has massively improved compatibility
by not forcing mod developers to add explicit support to make their assets cachable. This means that DashLoader will
load assets normally for mod assets that cannot be cached. While this improves mod compatibility, it hurts speed as
the Minecraft loading system is quite slow.
• If you use DashLoader for developing
mods or creating resource packs, you can press f3 + t to recreate the cache to load your new assets in.
If you want to just show off the speed of DashLoader, you can press shift + f3 + t
YourKit
Makes amazing profilers for both Java and .NET.
We use their Java Profiler to understand where to optimize further and make DashLoader faster.
# Fixes
- End Portal shaders being broken because uniforms apparently never saved their array data.
- Angry "Could not enforce maximum cache" error on first dashloader run
- Resource pack order not being recognised by the hash
- Use mutable collections in shader fields.
# Performance improvements
- Make DashVertexFormatElement use builtin constants if possible
# Internal changes
- Add support for IntBuffer, FloatBuffer and Enum in ObjectDumper.
- Fixed ObjectDumper giving bad results on null map values.
- Cleanup DashShaderStage
- Cleanup some old code
- Remove useless comment / unused class
# New Features
- Allow people to disable toast on caching.
- Add epic glow effects on the cache screen.
- Allow the toast to only show progress text when no facts are available.
# Performance improvements
- Improve model injection performance.
# Bug Fixes
- Deduplicate with identitymap to fix Identifier equals issues.
# Internal chores
- Add .equals implementations to most DashObjects
# Performance improvements
- Add deduplication, quads and collections.
- Use java hashmap instead of fastutil.
- Optimize hashCode on some classes.
- Check missing models on cache instead of load.
# Bug fixes
- DashLoader not resetting after load.
- Not clearing temporary objects after cache load.
- Status changing issues.
# Internal refactors.
- Switch to notalpha.dev package.
- Remove DashObject annotation.
- Make MultipartModelSelectors export MultipartModelSelectors and not predicates.
- A lot of moving.
# Internal chores
- Make Identifiers store with fields.
- Remove ModelTransformation postExport.
## Performance
- Optimize Model Filter
- Do not cache all mipmap levels
## Fix
- Make DashLoader a client only mod in fabric.mod.json
- MoreCulling Compatibility
- Creative search does not use the correct language except english (#18)
- Incorrect cache of child models (#19)
## Internal
- Move to records and final a lot of classes
- Move common files to data
## Performance
- Optimize Model Filter
- Do not cache all mipmap levels
## Fix
- Make DashLoader a client only mod in fabric.mod.json
- MoreCulling Compatibility
- Creative search does not use the correct language except english (#18)
- Incorrect cache of child models (#19)
## Internal
- Move to records and final a lot of classes
- Move common files to data
- Added language support.
- Merged Core and Definitions
- Updated Hyphen
- Fixed rare segfault that may happen if the JVM gcs in the middle of file reading
- Fixed race condition on exporting.
- Fixed bug where a failed load would fully crash the game, now it tries to recover.
- Fixed fabric.mod.json and declared DashLoader as a client mod
- Improve sprite handling.
- Make fonts load off-thread
- Make search init load off-thread
- Remove the angry 2.0 message
## 3.1.0
- Add indicator for a failed cache.
- Fix english 's usage.
- Make mod hash use MD5 like resource pack hash.
- Make DashLoader less invasive on sprite injection.
- Remove BlockState lookup cache.
- Support for Fabric API hooked Baked Models.
- Temporarily disable particle cache (i need to rewrite this garbage)
## 3.1.1
- Made f3 + t also clear cache. (shift + f3 + t does not clear cache)
- Added Shedaniel requested Cache Screen quotes.
## 3.1.0
- Add indicator for a failed cache.
- Fix english 's usage.
- Make mod hash use MD5 like resource pack hash.
- Make DashLoader less invasive on sprite injection.
- Remove BlockState lookup cache.
- Support for Fabric API hooked Baked Models.
- Temporarily disable particle cache (i need to rewrite this garbage)
## 3.1.1
- Made f3 + t also clear cache. (shift + f3 + t does not clear cache)
- Added Shedaniel requested Cache Screen quotes.
## Fallback system
The fallback system allows DashLoader to use the Minecraft model loading system to load assets that are not DashCache compatible. This allows mods to work with DashLoader, without adding explicit support which greatly improves compatibility.
## Rewrite
DashLoader has been rewritten.
### Core and Definitions
The codebase is now split with Core holding the version independent components and definition holding the Minecraft asset definitions to add DashLoader support to that Minecraft version. This greatly helps with us supporting multiple Minecraft versions.
### Hyphen
So we made the world fastest jvm serializer for Minecraft. This makes DashLoader faster and makes developing DashLoader way easier. Also it has fancy error messages.
## UX
### Caching screen
The caching screen has been redesigned to be more informative and nice looking.
It is also fully customizable in the config.
### Config
The config has been overhauled and is now way more powerful. Customize your screen or tune DashLoader to your liking.
### Profiling
The profiling system has been remade and is now cleaner and contains more statistics.
## A lot of fixes. Im not counting them.
## Mods that are now compatible
- BCLib
- Better End
- Botania
- Campanion
- CC: Restitched
- Connected Block Textures Fabric
- Conntected Textures Mod
- FerriteCore
- Hydrogen
- Industrial Revolution
- LambdaBetterGrass
- Pling
- Applied Energistics 2
## Fallback system
The fallback system allows DashLoader to use the Minecraft model loading system to load assets that are not DashCache compatible. This allows mods to work with DashLoader, without adding explicit support which greatly improves compatibility.
## Rewrite
DashLoader has been rewritten.
### Core and Definitions
The codebase is now split with Core holding the version independent components and definition holding the Minecraft asset definitions to add DashLoader support to that Minecraft version. This greatly helps with us supporting multiple Minecraft versions.
### Hyphen
So we made the world fastest jvm serializer for Minecraft. This makes DashLoader faster and makes developing DashLoader way easier. Also it has fancy error messages.
## UX
### Caching screen
The caching screen has been redesigned to be more informative and nice looking.
It is also fully customizable in the config.
### Config
The config has been overhauled and is now way more powerful. Customize your screen or tune DashLoader to your liking.
### Profiling
The profiling system has been remade and is now cleaner and contains more statistics.
## A lot of fixes. Im not counting them.
## Mods that are now compatible
- BCLib
- Better End
- Botania
- Campanion
- CC: Restitched
- Connected Block Textures Fabric
- Conntected Textures Mod
- FerriteCore
- Hydrogen
- Industrial Revolution
- LambdaBetterGrass
- Pling
- Applied Energistics 2
### Codebase
Fully remade and is now split into 2 different parts for easy support of multiple minecraft versions.
### Serializer
We now use Hyphen which is a nicer and faster Serializer.
### API
A remade API which does a lot of things for you like ordering the export order.
### You asked for it.
- Fallback system. Now DashLoader wont blowup if a non supported model is found. This makes dashloader way more compatible.
### UX
- The Caching screen has been remade and now is very customisable. The Config is also hot reloadable in debug mode.
- Config is now way better and allows to disable the watermark with ease.
- A new and more accurate Profiling system for competing with your friends minecraft loading times.
### Cache Improvements
- Multithreads harder. A way better multithreading ratio. Now uses all of your threads fully to encode/decode the cache
- Encodes way faster because of Hyphen.
- Compression. This makes the cache up to 10x smaller.
### Fixes
- Fixed shader issues. End portal blocks were broken and this should hopefully fix some Iris incompatibilities.
- Fixed Resource Pack order not being concidered.
1.17 Shader cache
- The shaders in 1.17 are now cached
- Faster loading times
Resource and mod independant cache
- Server Packs now cache.
- Mod changes dont require recache after the first time
Serializer cache
- Improve DashCache loading times by up to 50%.
Multithreaded Caching state
- New Caches are now a lot faster.
Multithreaded states
- Made blocks slightly multithreaded
DashReport
- Prints in console all the times of mc loading.
- Loading timer no longer required for drag races.
True Type Font Support
- DashLoader now supports TrueType Fonts!
DashCache Screen
- Finnaly make it the new color theme
- Added subtasks which leads for a smoother bar
[BUG FIX] Resource packs
- DashLoader now can switch resourcepacks without making a mess of textures.
[API] Huge API refractor
[API] Features
- You can now disable certain modules of dashloader through the api or the config.
- Fixed MultipartModels (Walls, Fences and Glass panes)
- Made optimizations on Image/Identifier/EnumProperty deserialization.
- Multithreaded Serializer creation.
- Model registry system changed.
- Fixed public Mixin (Sprite.Info)