2020-03-31

Tips when working remotely in Maya with VNC

I spent a few hours optimizing my VNC homeoffice setup and this is what I learned. (I only tried the free editions of realVNC and tightVNC.)

TL;DR

  • realVNC supports dual monitor full screen
  • tightVNC has more control for compression/encoding
  • While moving the viewport camera, let go of ALT, but keep holding the mouse button to get rid of lag
  • Maya settings to improve framerate
    • Set background to solid color (don't use gradient)
    • Disable "Display > Grid"
    • Hide as many objects as possible for the moment
    • Get rid of color transitions on surfaces
      • Use solid shader colors 
      • Viewport panel "Shading > Wireframe" 
    • Use small viewport panel

Explanation

  1. realVNC supports dual monitor full screen. tightVNC does not (in the free edition).
  2. tightVNC has more control for compression/encoding, but it does never seem to get faster than realVNC, even with low quality and fast encoding.
  3. While moving the viewport camera, let go of ALT, but keep holding the mouse button to get rid of lag. It seems like a random bug to me: While holding a mouse button at the same time as either ALT, CTRL, SHIFT there is an artificial lag with both VNC clients. The workaround can get annoying when quickly switching camera movement types, so I thought about changing the ALT hotkey. It would also be a good idea to look at more VNC clients, to see if one does not have this issue.
  4. Maya settings to improve framerate By reducing image complexity and changes between each frame you can increase the framerate a lot, because the compressing and encoding of images will be faster (...something like that)
    • Set background to solid color (don't use gradient) ALT+b hotkey
    • Disable "Display > Grid"
    • Hide as many objects as possible for the moment this includes creating temp mesh duplicates with all polyFaces deleted that are not needed for the current task.
    • Get rid of color transitions on surfaces because this is often responsible for most of the pixel changes between frames
      • Use solid shader colors for this I got rid of the color falloff on the default material (diffuse 0.0, set incandescence), so I can switch to "use default material" + "wireframe on shaded" most of the time.
      • Viewport panel "Shading > Wireframe" 
    • Use small viewport panel to have a smaller moving object. It's the same benefit as when zooming out (==fewer changing pixels over time)