GithubHelp home page GithubHelp logo

Comments (6)

titusio avatar titusio commented on July 26, 2024

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.

BenjaTK avatar BenjaTK commented on July 26, 2024

Multi-threading could possibly be added to non-chunked generators too, but idk how.

from gaea.

RAMENtheNOODLES avatar RAMENtheNOODLES commented on July 26, 2024

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.

MatiasVME avatar MatiasVME commented on July 26, 2024

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.

BenjaTK avatar BenjaTK commented on July 26, 2024

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.

DriftWare07 avatar DriftWare07 commented on July 26, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.