iMac Performance

I started out using OSXvnc on a Mac Mini (1.5 GHz Core Solo, OSX 10.4.10) over a LAN to VNC Viewer on a Windows XP machine and the performance is excellent. You almost can’t tell it from the real screen. However, I outgrew the Mac Mini, so I got an iMac (2.16 Ghz Core Duo, OSX 10.4.9) and installed the latest release of Vines. The performance coming from the same XP machine is nowhere near as good. Scrolling screens produces a wavy effect and the response of apps when dragging the cursor is very squirrelly.

This is a disaster for me because I produce commercial video training courses. When I used OSXvnc with the Mac Mini I was able to get good quality screen video recording on the XP machine. With the performance I’m getting on the iMac with Vines that’s not going to be a viable option.

Any ideas on how to improve the performance?

Danika:

Obviously the performance should be at least as good on your new hardware. In your specific situation I would look at two things:

  1. Are you now using WiFi where you were wired before? I love wireless and the capacity on AirportExtreme is plenty for VNC but the latency (particularly if you are using encryption like WPA/WEP) can slow down your VNC response rate quite a bit.

  2. Are you positive your network address space has remained the same as it was on the old machine? Sometimes you can get a situation where you are actually going all the way out of your home/office with the VNC traffic to get to the machine sitting right next to you. Make sure your IP’s are in the same subnet.

On a more general note we have some tips that we’ve just added to the FAQ topic -
Vine FAQ: Performance

Are you now using WiFi where you were wired before?

No wireless.

Are you positive your network address space has remained the same as it was on the old machine?

Positive. This is a home LAN with a 4-port router.

We’ve found that for a LAN you are actually better off with Hextile, Zlib (Raw) or Zlib (Hextile) than the stronger compressions ZRLE and Tight (which are better over low bandwidth).

Tried Hextile and Raw. Performance didn’t seem any better and the colors were way off.

You can improve this by launching System Preferences, going to the “Appearance” tab and setting your font smoothing to “Standard- best for CRT”.

Made this change. Could tell any difference.

Instead set your background to the monotone white, grey or black, which is fast for VNC to send.

None of the screens I record have backgrounds in them. I’m making comparisons of the same full-screen apps on each machine.

Since I still have the Mac Mini I tried looking for differences in just about everything I thought could be relevant. The only thing I found that was different is the color profiles. The iMac is set to VGA Profile and the Mini’s profile is simply named “Display”. I have no idea what all that stuff inside the profile is, so I didn’t get very far with that route.

The only other difference I can think of is that the iMac mirrors a second display. I tried turning mirroring off and only using one display, but that didn’t help either.

Just to clarify which machine is running which server/version and which machine is running what viewer/version?

Hextile and Raw should NOT have color mapping problems.

From the Viewer are you referring to your machine by IP or host name?

Some basic network validation might be helpful, if you do a ping (SERVER) from your VNC Client machine are the results different when using the MacMini vs. the iMac?

Just to clarify which machine is running which server/version and which machine is running what viewer/version?

Client: Windows XP/SP2, VNC Viewer P4.2.7
Servers:
Mac Mini: OSX 10.4.10, OSXvnc 1.71
iMac: OSX 10.4.9, Vine Server 2.1

From the Viewer are you referring to your machine by IP or host name?

IP

Some basic network validation might be helpful, if you do a ping (SERVER) from your VNC Client machine are the results different when using the MacMini vs. the iMac?

0 ms on both

This may be a red herring, but I keep thinking is has something to do with the display. The Mac Mini was targeted for people like me who are primarily Windows users to use with a KVM switch. So I imagine it had some tweaking for a VGA display (like the built-in DVI-VGA adapter).

I don’t know whether this means anything or not. However, I notice in the Activity Monitor that with Vine Server 2.1 there are actually 2 processes running, Vine Server and OSXvnc-server, whereas with OSXvnc 1.71 there is only OSXvnc-server. If I have nothing on the screen but the Activity Monitor and I move it around just to create some motion, on the Mac Mini the cpu utiliization of OSXvnc-server is negligible. However, if I do the same thing on the iMac, the cpu utilization of the OSXvnc-server process jumps to above 50, sometimes 90, percent.

The “Activity Monitor” drag test is an interesting one – that should put a decent amount of CPU usage on either version of the app on either machine. In both cases was a client connected at the time (if no client is connected it should cause no impact).

Both OSXvnc and Vine Server utilize a GUI with the name of the Application and an underlying command-line server OSXvnc-server. That architecture has been there since Beta 0.7 of OSXvnc. The only exception is if you have configured it to run as a “System Server”/“Startup Item”. Is it possible that you just overlooked it when running the OSXvnc.app?

When I looked at the Activity Monitor on the Mac Mini again, I did see that there were in fact two processes for 1.71, OSXvnc and OSXvnc-server. When I move the Activity Monitor around on the screen, both show no CPU utilization.

I was performing this test (moving the Activity Monitor around on the screen) on both systems using VNC Viewer, so yes a client was connected.

Are you sure that you are connected to that Server? It really should be showing some impact from dragging a window around.

Yes, I’m sure. I can tell both from the IP address and the desktop I see. Neither process shows any CPU utilization on the Mac Mini. Total user CPU activity goes up considerably when I move the Activity Monitor around, but I don’t see any single process increase. So it may just be the way the Activity Monitor is accounting for CPU usage.

On the iMac the Vine Server never shows any CPU activity but the CPU activity of the OSXvnc-server increases considerably.

Frankly I’m beginning to think this must just be some quirk in the Activity Monitor. The bottom line is that the screen displays from VNC Viewer to the iMAC don’t handle motion as well as to the Mac Mini.