Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (576)
games submitted by our members
Games in WIP (498)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  open world loading texture on different threads  (Read 2071 times)
0 Members and 1 Guest are viewing this topic.
Offline JESTERRRRRR

Senior Member


Medals: 6
Exp: 1 year



« Posted 2012-08-24 05:40:30 »

I am making an open world game. I split the world into segments, 9 of which are always loaded, the player in the center. Move over a segment and I load the next apropriate segments before the player reaches them.

I wanted to do this loading on a seperate thread, but with LWJGL if I load a texture from another thread it cannot be displayed. (I don't have the error but can recreate for it. I found this was the problem from an IRC log google gave me Cheesy )

Each segment may have different textures, and may share some with other segments. Too many texture exist in total to have every single one loaded onto one atlas. If I load everything in the same thread as the rendering is done, there would be a significant pause when you reach the end of a segment. Does anyone have any experience with open worlds and streaming in world data they can share? Specifically though this thread business is my problem.
Offline davedes
« Reply #1 - Posted 2012-08-24 06:05:29 »

You can load/decode images from any thread; but you will want to upload the bytes to the GPU on the same thread as the rest of your OpenGL calls.

SlickUtil will not be a great candidate for async texture loading. Instead, I'd suggest checking out out Matthias' TextureLoader.

More importantly; how are you storing/rendering your maps? If you aren't using tiled maps (or a similar technique) then you may want to consider it. Loading a single sprite sheet at startup (and streaming "map" data) is much more efficient than decoding many large images. If all of your tiles don't fit in a few 1024x1024 textures (seems unlikely), you can organize the sprite sheets by "area" and load/unload them as necessary.

Offline Nate

JGO Kernel


Medals: 128
Projects: 3
Exp: 14 years


Esoteric Software


« Reply #2 - Posted 2012-08-24 08:29:20 »

libgdx has an AssetManager class which can load textures and other stuff on a separate thread. The upload is of course done on the GL thread.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline JESTERRRRRR

Senior Member


Medals: 6
Exp: 1 year



« Reply #3 - Posted 2012-08-24 19:53:13 »

I am using tiles, currently for creating maps I have a map editor which just stores a texture per tile and I'm just binding each texture for each tile as its only a map editor for me. I think I'll have a go with libgdx though, looks really nice. Thanks to you both
Offline JESTERRRRRR

Senior Member


Medals: 6
Exp: 1 year



« Reply #4 - Posted 2012-09-03 00:02:04 »

Does anyone know why my LWJGL window automatically resizes whenever the window is reselected after it has been minimized? Can't find anything in the Display docs
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (16 views)
2014-04-15 18:08:23

BurntPizza (14 views)
2014-04-15 03:46:01

UprightPath (27 views)
2014-04-14 17:39:50

UprightPath (12 views)
2014-04-14 17:35:47

Porlus (29 views)
2014-04-14 15:48:38

tom_mai78101 (51 views)
2014-04-10 04:04:31

BurntPizza (110 views)
2014-04-08 23:06:04

tom_mai78101 (211 views)
2014-04-05 13:34:39

trollwarrior1 (180 views)
2014-04-04 12:06:45

CJLetsGame (185 views)
2014-04-01 02:16:10
List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:05:20
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!