Hacker News new | ask | show | jobs
by jiggy2011 4902 days ago
Photoshop in a VM?

is that not a horribly laggy experience?

I have a Core2 Quad Q6600 based computer and when I have run Windows inside a VM it is too laggy to use as a serious desktop beyond using a few basic apps. Doing 1080p video is choppy too.

Is there something about newer CPUs such as i7 that makes virtualisation hugely faster and more responsive?

6 comments

>> Is there something about newer CPUs such as i7 that makes virtualisation hugely faster and more responsive?

Yes.

http://ark.intel.com/Products/VirtualizationTechnology

Running the Android Emulator on my i7-3770k is smooth as silk with Intel Virtualization turned on. Without IV it's like rubbing my face on sandpaper.

Many Core 2's also have VT-x, including the GP's Q6600. [1]

Probably the biggest difference in performance is in using up-to-date VM software and giving the guest machine sufficient memory.

1. http://ark.intel.com/products/29765/Intel-Core2-Quad-Process...

Sorry for hijacking the topic but I need to ask something.

I recently purchased a 3770k and all other parts arrived today. The documentation[1] says 3700k supports Vt-x but not Vt-d. Does that affect anything at all ?

1. http://ark.intel.com/products/65523

VT-x is for hardware virtualisation. VT-d is allows direct pass through of device (PCI, etc).

VT-x is essential, VT-d is 'nice' because it lets you hook PCI devices directly into the VM (good for some servers) but in general you don't need it.

3770k is a very nice chip! I love mine. Easy to overclock too.

I'd check your RAM settings first. A faster processor helps, but to virtualize an OS properly you need a good chunk of RAM to make both Host and Guest feel snappy. Four gigs works well for me without a VM running, but is a little laggy once a virtual OS is spun up. With my typical work load and 8 gigs of memory properly allocated between the host and guest OSes I rarely notice the VM running in the background.
My host OS still feels fast enough with the VM running. It's just stuff like menu draws and window dragging etc are very far from snappy. Throughput doesn't seem to be the issue so much as latency.

Possibly a graphics issue, though I do have a reasonable nvidia card and enabled 3d acceleration in Virtualbox.

I don't think Photoshop would be too laggy with modern hardware. I have some lag issues playing modern 3d games, but they seem to be related to game events that access the hard drive. I'm guessing this is because accessing compressed drives have some overhead.

With that said, I'd think the startup time would be horrendous unless he's just suspending the vm. The side effect of that is lots more HD storage requirements. So to make this as lag-free as possible, you would need to turn off hd compression, use suspend to avoid the windows bootup time and defrag like you would normally do in windows.

To answer your question, I believe modern Intel processors have virtualization optimizations built in.

One of the major pain points with VMs is I/O. Get an SSD, and get a fast one, such as the Samsung 830/840Pro. Could be one of the smaller if short on cash.

This will do a lot to make your VMs responsive.

Do you have an SSD in the host system? As with many things when running outside of a VM, I've found that the SSD provides the greatest performance boost to most applications other than 3D gaming.

I've been doing web development work in a Windows VM for a number of years now and found it to be very responsive even on older MacBook Pros with with only one core of a Core2 Duo allocated to the VM. Adding more RAM helped a little bit, but the biggest speed boost was the addition of an SSD.

"Is there something about newer CPUs such as i7 that makes virtualisation hugely faster and more responsive?"

Well you probably could set the CPU affinity of every single application that is not the VM to one core and set the CPU affinity of the VM to the three other cores. A tiny script doing that should be fairly easy.

Maybe someone who knows VM better than me could tell if it would work or not?

Now my experience with VMs do not match yours: I've been running Windows just fine inside VM providing it has enough RAM (but RAM is basically given these days) and provided the special drivers were installed to make the UI fast.

Also, I've read professional photographer use Octocore Macs with 20 GB of RAM and create gigantic ramdisk for Photoshop and saying that it is incredibly much faster than letting the OS be "smart" about what/when to page to disk.