Multithreaded Rendering in WikitudeIf you're experiencing errors in Wikitude, you may be having problems with Unity's Multithreaded Rendering option. Fortunately, there are a number of easy solutions to the problem. Check out the Wikitude documentation for more details on this subject. If your game is running on a single machine, try reducing the number of worker threads. It'll drastically increase performance!
Main thread generates intermediate graphics commandsWhen using Wikitude's multithreaded rendering feature, the main thread generates intermediate graphics commands and dispatches them to the render thread. The render thread in turn generates intermediate graphics commands via multiple worker threads. Depending on the configuration, a multithreaded rendering feature can be used simultaneously. In a single thread application, you may not need all the worker threads. However, if you are planning to use all the core features of the multithreaded rendering, you can set a single thread to do all the work. The SDK provides an API for building augmented reality worlds. It supports iOS and Android platforms. The SDK's API provides access to location-based AR, image recognition, Plugins API, and dedicated rendering functionality. You can use Wikitude's Cordova Plugin and Flutter Component to integrate Wikitude's native SDK with your game's development environment.
Render thread dispatches graphics jobs to several worker threadsUnity's multithreaded rendering thread dispatches its graphics jobs to several worker 'threads'. Each worker thread handles a different graphics task. The main thread generates the intermediate graphics commands and the render thread converts these into low-level platform API graphics commands. The worker threads run in parallel and report results to the main thread. The main thread is responsible for interacting with the Unity API and determining what needs to be rendered.
Worker threads can be a single thread or a group of threadsUnity offers the ability to schedule work on its Render Thread using a coroutine. A worker thread that calls the InvokeOnAppThread method will add code to this list. It then registers as a coroutine and checks for the code on each frame. If there is code in the list, the worker thread will execute it as part of the Update routine.
Related PostsHow to Remove the Wikitude Free Trial Watermark
How to Add a Wikitude Direction Indicator to Your AR App
How to Use the Wikitude SDK
How to Upload Video to Wikitude Studio Manager
How to Use Wikitude to Automatically Recognize 3D Models
Download Wikitude for Android From the Market With Felgo