Add support for multithreaded resource loading through Ogre

Registered by Erik Ogenvik

Currently all resources are loaded in the same thread as the main application. This means that when you navigate the world and first happen upon a large resource, such as a complex mesh or a large texture, the whole thread is paused while the resource is loaded. Ogre has however for some time had support for multithreaded loading, where the resource loading happens in a thread different from the main thread. Ogre however needs to be compiled with specific configuration directives in order to get this working.
It's however something that seems perfectly suited for Ember, since it's very common to get stilted performance due to the loading of resources.
Support for this would be very welcome. Any implementation needs however to work both with the default behaviour and the multi threaded approach (there will be preprocessor directives set, OGRE_THREAD_SUPPORT for example). So if the Ogre lib has support for multi threaded loading that will be used, but if it hasn't Ember will use the regular approach.

Once the basic support is in, we can look at further enhancements such as letting loaded entities being faded into the scene by altering the material/shader.

Blueprint information

Status:
Complete
Approver:
Erik Ogenvik
Priority:
Medium
Drafter:
Erik Ogenvik
Direction:
Needs approval
Assignee:
Erik Ogenvik
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Erik Ogenvik
Completed by
Erik Ogenvik

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.