Skip to content
07-848 2005

Application SDK

Thread Allocation

In this chapter we'll cover briefly the threading model of the App SDK:

Last updated 1 September 2026

Introduction

In this chapter we'll cover briefly the threading model of the App SDK:

  • The VRayRenderer is supposed to be accessed from a single thread.
  • In case the GUI is enabled, this should be the main thread from which it is created (the user thread).
  • The access to the VRayRenderer from multiple threads (except GUI calls) is allowed if it's serialized. Generally speaking the VRayRenderer is not thread-safe.
  • When you start rendering, it is always started in a separate thread.
  • In Interactive mode the changes to the scene are disabled for the period between calling start and receiving the 'started' event. After that changes can be made. They get applied asynchronously to the V-Ray engine in its own threads.
  • VRayRenderer callbacks are emitted from their own separate dedicated thread where events are queued and dispatched. This means that they may be seen later than the precise time they occurred and in some cases the state of the renderer could have changed meanwhile.
  • The callbacks that you attach should be fast because their execution blocks any other queued event callbacks.