Skip to content

Execution#

Executing apps#

The "Apps" window allows you to manage the applications that you want to run, and the different configurations that can be used with them.

You need to select both an App and a Configuration before pressing "Run".

Pressing "Run" will execute the App and instruct it to load the selected configuration.

It also allows you to start a multi-user app or troubleshoot your system.

Cluster#

Starting a cluster application#

Make sure you have the MiddleVR Daemon running on all machines, including the server.

If the configuration is a cluster configuration, it will send the command to all the cluster daemons, including the master.

Note: If you are using a network drive, make sure to add the application and configuration from this network drive. MiddleVR will tell all nodes to use the exact same command line, so if you're adding your application from a local folder that does not exist on the cluster nodes, the MiddleVR Daemon will not be able to start it.

Stopping a cluster application#

The easiest way to stop an application is by pressing the Escape key on the server's keyboard.

If the application is frozen, you can also use the "Kill All Cluster Nodes" option in the apps window:

Pressing this button will send a message to all MiddleVR Daemons to kill the last applications that they started.

Apps#

You can sort the apps list as you wish by dragging and dropping the app where you want in the list.

Double-clicking on an application in the apps list will open a file explorer in the folder containing it.

By right clicking on an app a menu lets you choose between removing the item from the list or show it in the explorer.

Double-clicking on a configuration in the configurations list will load it.

Renaming a configuration will also rename the file. Duplicating a configuration will duplicate its file on the disk.

  • A gray configuration is a configuration whose file does no exist on the computer.
  • A bold configuration is a loaded configuration.

Advanced#

You can expand the Advanced section:

Logs#

  • Log folder : The folder where the logs will be stored. MiddleVR will automatically create a new folder for each day inside this folder. This parameter is especially useful to output logs to a shared network folder so it is easier to gather the logs from all the clients. Depending on the loglevel, writing logs on a network file can slow down the application down. If empty, the logs will be created in %tmp%/MiddleVR

  • Log level : The level of logs that will be printed in log files when the application runs.

  • Date prefix : By default all the logs will be created prefixed with the launch date and time. You can uncheck this parameter so the log names don't change every time you run your application, which can be useful to debug.

The log level can be from 0 to 7:

  • LogLevel 0: will only display errors,
  • LogLevel 1: will only display errors and warnings,
  • LogLevel 2: will only display errors, warnings and information,
  • LogLevel 3 or more: debug information.

Debug#

  • Monitoring: Will open a separate window when the app is run showing monitoring information like FPS. This features stores monitoring information in the Log Folder. The monitoring window reads the information from those files, so make sure to use a shared network log folder.

  • Disable rendering: Disables all camera. This is useful to test if your application's rendering is causing any trouble

  • Disable stereoscopy: Switches all stereo cameras to mono (displays only the left eye). This is useful to test performances or your graphics system without stereoscopy

  • Disable network synchro: MiddleVR will not synchronize any data over the network. This means no tracking data, Broadcast.Message, devices states.. This is useful when used with Disable soft swaplock to disable any network coupling between the apps.

  • Disable soft swaplock: The cluster node will not wait for each other's rendering before starting a new frame. Make sure to also disable VSync & NVidiaSwapLock

  • Force viewport size: Forces all viewports to the specified size. This is useful to check the impact of the size of the viewports on rendering

Multi-user#

You can start a multi-user server, client or host via MiddleVR config. See Multi-user options.

Command Line#

You can see the full command line that will be sent to cluster daemons in "Current Command Line". It can be copied to the clipboard by clicking the icon right of the command line.

You can add a custom argument to the command line in "Custom arguments".

Batch and Script Execution#

You can also manually start the application without the graphical tool. On the server, you can execute the application by creating a .bat file or shell script and copy/paste the command line given by MiddleVR Config in Debug information.

MiddleVR will then tell the MiddleVR Daemons of all the configured cluster clients to run the same application with the exact same path and command line arguments.

This is particularly useful with Editor Cluster Debugging.

Command line arguments#

  • --bat: Use only when running from a bat file (or other shell script) and with a cluster configuration.
  • --config: Specify the configuration file to use. Example: --config "C:\Program Files\MiddleVR3\data\Config\Default\MultiDisplay.vrx"
  • --logfolder: Specify a log folder. Example: --logfolder z:\logs
  • --loglevel: Specify a log level from 0 to 7. Example: --loglevel 3
  • --logdateprefix: Specify if the logs filename should be prefixed with the current date/time. For example 2021-06-30_09-44-49_MiddleVR_MiddleVR_Demo_Server.txt
  • --mvr-port: Specify the network communication port. Example: --mvr-port 10000
  • Netcode: See specific command line parameters.
  • Cluster texture: See specific command line parameters.