Comments (6)
The ChunkLoader
could only load a limited amount of chunks per frame. We could queue the chunks we want to load instead of loading them right away.
from gaea.
Multi-threading could possibly be added to non-chunked generators too, but idk how.
from gaea.
I was fiddling around with this yesterday, and I found out that adding multi-threading will require a pretty significant rewrite to the chunk generation, and even the rendering. Because of me being relatively new to this project, I do not know exactly how everything works, but I think I have a good understanding of what needs to be changed. I'll create a list to help me with figuring out what to work on and also show anyone else what would need to be done for multi-threading/queuing and also allow them to add on to the list if I missed something.
- Refreshing the required chunks by clearing the array every time is slow, especially if there are only certain chunks changing
- Rendering should be put in a separate thread, but the rendering part of this addon, is one of the things I do not exactly know where to start in terms of making it multi-threaded
- I agree with queuing chunks to be loaded/unloaded later, and the process of loading/unloading chunks should be in it's own thread
- Most of the generators would likely need to be modified to support multi-threading
I will attempt to get this implemented, but I also hope that this helps anyone who wants to attempt this as well.
from gaea.
I think you have to consider that multi treading is not very web compatible so you also have to consider that it is a toggleable option :S
from gaea.
I was fiddling around with this yesterday, and I found out that adding multi-threading will require a pretty significant rewrite to the chunk generation, and even the rendering. Because of me being relatively new to this project, I do not know exactly how everything works, but I think I have a good understanding of what needs to be changed. I'll create a list to help me with figuring out what to work on and also show anyone else what would need to be done for multi-threading/queuing and also allow them to add on to the list if I missed something.
* Refreshing the required chunks by clearing the array every time is slow, especially if there are only certain chunks changing * Rendering should be put in a separate thread, but the rendering part of this addon, is one of the things I do not exactly know where to start in terms of making it multi-threaded * I agree with queuing chunks to be loaded/unloaded later, and the process of loading/unloading chunks should be in it's own thread * Most of the generators would likely need to be modified to support multi-threading
I will attempt to get this implemented, but I also hope that this helps anyone who wants to attempt this as well.
Hey @RAMENtheNOODLES! Sorry I'm so late, but how did this attempt go?
from gaea.
Loading chunks with a gridmap is very slow. Is there a better renderer to use for this or can I optimize it in some way?
from gaea.
Related Issues (20)
- Failure after adding Gaea HOT 5
- it isn't downloading everything of the plugin HOT 1
- Can't generate tilemaps with heightmaps HOT 2
- Publish Gaea to Godot Asset Library HOT 1
- extra collisions beside collidable tiles HOT 5
- [NoiseGenerator] Render different tiles to different Tilemaps HOT 1
- Biome Modifier for Overworld map generation. HOT 1
- Flickering issue when viewing preview HOT 1
- Heightmap chunk-generation issue HOT 1
- Better tutorials (especially for 2D terraria-like worlds) HOT 5
- No generate button
- Add icon for WaveFunctionGenerator
- Allow for chaining generators
- Make grid a resource
- Project could be in `Compability` mode instead of `Forward+` Mode HOT 1
- Optimize WaveFunctionGenerator2D HOT 2
- ChunkLoader don't load Chunk correctly when Actor is in a negative position HOT 1
- C# support HOT 2
- Chunk loader loads it wrongly HOT 1
- Can not get ChunkLoader3D to work HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gaea.