VNC Client/Server

Hi all,

I have a small issue with my setup I would like to ask about.
I guess it is somehow linked to Brad’s coming book with guidance for glitch free music?

My music PC is a home made system built into a rack.
At home it is connected the normal way with a monitor and keyboard, but at rehersals and live I use a tablet with a VNC connection.
I makes my setup very lean without tonnes of keyboards and screens but still quite effective to handle.

So I have installed a small VNC server at my PC.
It took me a while to find the best suited server and the best setup as I want to have as little data traffic as possible in order to save CPU power to the music. Or maybe not CPU power but critical software driver time
I ended up with TIghtVNC.

Until now it has worked pretty well but yesterday I got some glithes when I used CB3?
I noticed that the VNC server added around 25% more load in CB3’s load meter.
(I am aware that this is not the average CPU load for the VNC server, which is much less - down to a few percent)
THe load seems to increase with more graphical things happening on the screen.

I have tried to tweak the server without too much sucess.
I have tried to lower CPU priority, remove desktop background etc.
I have a 256 byte buffer (previoulsy 128 bytes) and I do not want to increase it to 512 if I can avoid it.

My question is if any of you have experiences with this kind of tablet/PC setup and have good solutions for it?
Would e.g. Remote Desktop be better or worse?
(I am running Windows 7 Home Premium)
Are there other VNC servers with well written drivers not taking critical time out of the sound chain?
Do you know of other and better solutions?

Thanks
Kim

Interestingly I’ve used TightVNC with Cantabile (2, not 3) and haven’t noticed any increase on the load meter. This is on Windows 8.1 Pro. Do you use a wifi or ethernet cable connection? I’ve seen all kinds of load spikes and problems when using wifi, so never use that with my Cantabile PC. I use an ethernet cable (and a reverse ethernet adaptor) live, and don’t have any trouble.

This makes me think of a feature suggestion for this use case. Have a simple “satellite” program that runs on your tablet/laptop, which just displays pertinent status information and provides basic control, and this maintains a low-traffic connection to Cantabile running on your audio PC (in your rack or wherever). That would mean you wouldn’t need something like TightVNC, and wouldn’t need to be passing display update data across your link continuously (I guess level meters moving are going to mean you have a constant flow of display info across your link). Then one day extend the idea to provide an iOS/Android app for it (albeit requiring a wifi link).

I’ve not used Cantabile with TightVNC but I used to run Cantabile 2 via Windows Remote Desktop without any issues (well no issues after I fixed the issues).

I’m surprised that TightVNC is affecting Cantabile’s load meter - that’s really quite concerning and suggests it’s somehow getting it’s hooks into the audio processing thread.

(The load metrics are measured strictly on the audio driver callback thread and shouldn’t be affected by anything GUI related).

Two possibilities come to mind:

  1. TightVNC is hooking trying to hook audio and routing to the remote machine, taking time on the audio thread and affecting load metrics. Check for an option to disable sound in TightVNC

  2. You have a poor network driver that’s causing DPC Latency issues and interrupting the audio thread. Try running LatencyMon with and without TightVNC running and see if you can notice any difference.

Having said all that, you will get quite a bit of network traffic trying to remotely view Cantabile. All those level meters and MIDI activity indicators usually result in a repaint of the entire bound box of all the ones that have changed. And they update very frequently.

I never really thought about a cabled solution. I am using Wifi only, which until now has worked out fine.
I have found a cross-connect cable, an old laptop and will start to investigate.

I agree with your idea of an app based interface to CBx - sometimes in the furture

I always hear horror stories about WiFi causing problems with audio. Perhaps it’s often poor network drivers, as Brad suggests. Running LatencyMon on the Core i7 box I use for my live rig shows incredibly low, stable latency, and as soon as I enable my WiFi adaptor, reported latency increases quite a bit, and I get large latency peaks. So WiFi remains permanently off on my live rig PC - I always use an ethernet cable when I need networking.

To the point possible I believe I have disabled all possible features on VNC

I have run my system through LatencyMon and I can see a slight increase in "Kernel Timer Latency"
But I does not seem it gives any warnings.

I even experienced glitches in the sound, with TightVNC enabled, while the kernel reported “everything is fine”.
Glitches disappearing with TightVNC disabled.

But I am able to provoke long latency, VNC or not, and in all cases it is said to be the USB 1.1/2 driver?
Earlier I did not have such issues?

I have updated drivers without any help.

Otherwise I will see if Remote Desktop could be a solution but I will wait until upgrade to Windows 10.
I must admit though that I am a bit sceptic to do this until I have read you “Glitch Free” book :smile:

I am thinking remote controlling CB the best possible way would be a nice chapter to have in your coming book?

To be honest I don’t think remote viewer software is ever going to be the best solution for this. Particularly with an active screen display, it’s going to put a fair bit of load that you really would be best of avoiding.

Without digging into it more, I can’t really say what might be causing this, but another interesting experiment might be to enable TightVNC, but minimize Cantabile’s main window and see if the glitches still occur. In this configuration, vnc will still be running, but the screen updates won’t be sent across the network. Just curious what happens in that case.

The other thing you could try is disabling Cantabile’s multi-core (or at least dropping the audio thread count by one). This might free up a processor to help service the network layer and prevent interruptions on the audio thread. Just a guess.

As for the best way to remotely control Cantabile, I think via something designed for that exact purpose and is the motivation for a network server API. Whether that ends up as a dedicated remote app, or simply the ability to point a web browser at Cantabile I’m not sure yet.

Don’t be too hasty moving to Windows 10 if you use iLok for any of your plugins - I hear there are still major compatibility problems.

Confirmed, many issues with win 10, ilok and Presonus Studio One Ver 3.1 for some users.