Alienhead Posted February 19 Share Posted February 19 I have a request, I'm not even sure this can be done editor side or not but I thought I'd toss it out there in hopes it is something that can be added. I'm creating a zone loader, let me explain - I wish to be able to load and edit objects in the editor as normal. But some objects I don't want to have loaded at runtime, but rather load and place the object at my own choosing. I could later parser the .map file and get these objects flagged for 'Don't Load'. Now the editor would still load these objects and allow normal editing, placement, scale etc.. A mockup - Is this something that can be done user side? or would this require editor side work? Is it even something you would consider adding? My thoughts and plans are: for example, I have a HUGE sky scrapper building with many many floors and rooms, the building consists of 1000's of objects but usually the player only gets to a fraction of these rooms per game session thus causing a huge load time delay for no reason. I wish to still have the references to these objects and create a <please wait, loading> signal when player enters said area. I should be able to parser the .map file and get the unloaded but referenced objects then create my own stream loader or<please wait> loader or async/mutex loader or something. For large, open world - like games this would be a major step forward. This isn't something that I wish to do later on but rather a need for projects already facing this dilemma. Any thoughts? Quote Alienhead Components and Software Link to comment Share on other sites More sharing options...
Josh Posted February 19 Share Posted February 19 8 hours ago, Alienhead said: I don't want to have loaded at runtime Why? What problem are you trying to solve? Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Alienhead Posted February 21 Author Share Posted February 21 I'm trying to work around extremely long load times for maps with a large amount of entities. I wish to create a zone loading procedure. Quote Alienhead Components and Software Link to comment Share on other sites More sharing options...
Josh Posted February 21 Share Posted February 21 Okay, first step should probably be to determine exactly what is making up that load time, and whether the number of entities is actually the bottleneck, before we attempt to solve it with a complicated multithreaded system. What are the load times, in debug and release builds? It's possible that JSON might not scale well, but I can't tell until I test. Textures load pretty much instantaneously, but may hit a bottleneck when they are being uploaded to the GPU. I doubt this is a problem, but have not measured at at scale. Mesh data should load fast, but there is a processing step when vertex data is converted to the more optimized layout that actually gets sent to the GPU. I don't think this is an issue, but maybe STL is running slow in debug builds. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted February 23 Share Posted February 23 I did a test with a scene with 1700 objects, and just calling LoadTable() to load the map file JSON data. Release: 650 milliseconds Debug: 6172 milliseconds Although lower is better, both of those numbers seem okay. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Alienhead Posted March 3 Author Share Posted March 3 So still no way to create background loading.. rather this is a bug or not. Quote Alienhead Components and Software Link to comment Share on other sites More sharing options...
Josh Posted March 3 Share Posted March 3 Like I said, the first step is to determine what the actual bottleneck is, before trying to add a solution that we don't know will even address the problem. I did some initial tests and the JSON data doesn't seem to be a problem. Have not had time to investigate further because I am solving the remaining bug reports right now... Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted March 3 Share Posted March 3 It would also be good to know, with the scene you are testing, what are the load times in debug and release builds? That info will tell me whether STL in debug builds is the main culprit. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.