Wednesday, May 23, 2012

VMWare Fusion and Excessive Idle CPU Usage

I've stuck with VMWare Fusion (currently at 4.02) over the years because I find it much more stable than Parallels. However, I've noticed that my virtual machines always have rather high CPU usage under Fusion. My Windows Server 2008 R2 VM has always consumed about 40% CPU usage on the host side, even when at close to 0% CPU usage on the guest side.

This is a problem. It makes my Macbook Pro run hot and puts a serious dent in my battery life.

Things I ruled out by trial and error:

  • It's not a RAM issue - I have 16GB of RAM, 4GB of which is dedicated to the Windows VM, and I'm not seeing paging on the guest or host.
  • Removing the guest's virtual USB device is one suggested fix I've seen people offer. This seemed to improve CPU usage by several percent, but nothing significant.
  • Manually changing the virtualization engine didn't help.
  • Enabling or disabling hard disk buffering didn't help.
  • I disabled as many services as possible in the Windows 2008 R2 guess, and confirmed via Sysinternals' Process Explorer that nothing was chewing CPU or doing significant I/O in the background.
  • Enabling or disabling 3D acceleration in Fusion's virtual machine settings didn't help.
  • Enabling or disabling Aero on the guest didn't help.

In the end, you know what worked? I changed VMWare Fusion's settings for the virtual machine and reduced the number of virtual CPUs from 4 to 2. This took idle host CPU usage from ~40% down to ~20%, a figure I consider much more reasonable.

I'm not sure exactly why this worked. FWIW, this is on an early 2011 MacBook Pro with a 4-core Sandy Bridge i7 CPU. There are 4 physical cores and OSX "sees" 8 virtual cores. Therefore, my virtual machine is probably now running on a single physical core. I'm sure that has something to do with it.

Tuesday, May 22, 2012

New Software News: No More Aero Glass, GitHub for Windows, Coda 2

Bye, Aero Glass. Microsoft announced that it's phasing out the Aero Glass UI in Windows 8. The new interface is flatter and sharper. I like the direction they're taking.

“This style of simulating faux-realistic materials (such as glass or aluminum) on the screen looks dated and cheesy now, but at the time, it was very much en vogue,” [Jensen Harris, the Director of Program Management for the Windows User Experience] writes in the blog post titled ‘Creating the Windows 8 User Experience.’

GitHub For Windows. GitHub for Windows is now available. I've only played around with their OSX client very briefly, but it's friendly and works.

Coda 2. Over on the OSX side of things, Coda 2 is finally about to ship. I'm a big fan of Coda 1 for certain things - it's great at editing remote files via FTP/SFTP. (But isn't that kind of an outdated mode of development?)

Catching my eye in Coda 2: Git support, easier color scheming, and a CSS editor that appears to have great support for creating gradients and other CSS effects. There's a built-in MySQL management GUI, which is cool, but also a little bit "five years ago" - it seems like people are either moving "down" to SQLite or NoSQL databases, or "up" to a more fully-featured RDBMS like Postgres.

According to Cabel from Panic, "Coda 2 will be $75 ('upgrading pricing for everyone') for a while, Diet Coda will be $19. After the sale of course." The sale he's referring to is the 24-hour sale on May 24th when both apps are 50% off.

Tuesday, May 8, 2012

HP ZR2740w Monitor Update

In an earlier article I mentioned being pretty excited about ordering this monitor.

Hated it. Completely unacceptable monitor. I sent it back for a refund. However, it might work for you. Let me explain.

The anti-glare coating on the ZR2740w is unbelievably bad when you're looking at light-colored backgrounds. The anti-glare coating is so thick and coarse that the screen actually looks filthy. If you know what text looks like on a dirty monitor, then you know what the ZR2740w looks like.

Will It Work For You? It might, if you're not using any software that uses light backgrounds. If this is strictly a gaming machine, or if you're a coder who spends all day in customizable terminal windows or IDEs with dark color schemes, maybe it's worth a shot.

But then again, while ~$600+ is cheap for a monitor of this size and resolution, that's still a ton of cash to pay for something that's going to make anything on a light background look like shit.

"Mastered for iTunes" Revisited

Since my previous article on Apple's Mastered for iTunes program, more information has come to light. We now know what "Mastered for iTunes" actually means! NPR sums it up best; check the addendum at the end of this article.

"...I spoke again with Bob Ludwig, the mastering engineer quoted in the story, who has submitted "Mastered for iTunes" tracks to Apple. He says the company is simply providing mastering engineers with tools that allow them to see how songs mastered at 24 bits will clip (that is, distort audibly) when they go through the standardized AAC encoding process. The uncompressed files are then submitted to iTunes, which creates lossless versions before encoding the songs as 256 kpbs AAC files for sale in the iTunes store.

...Why is this significant? Because the fact that Apple retains the lossless versions of the high-quality studio masters means that iTunes, at any time it decides to, can begin selling higher-quality encodes, or even lossless files."

Ars Technica chimed in with their opinion. With the aid of some professional audio engineers, they concluded that "Mastered for iTunes" can make a positive difference, though it should be noted that not all of the audio engineers agreed with each other.

Is Everybody Missing The Point? Kind of. A lot of the discussion has centered around the fact that it's almost physically impossible for us to hear the difference between 24-bit and 16-bit audio, or 96khz and 44.1khz audio. While true, that misses the real point of high resolution audio.

Whenever audio is transformed, data can be lost. It's just a mathematical reality. By default, audio goes through quite a few steps in the pipeline before making it to your ears. iTunes' volume control, its Sound Check and Sound Enhancer features, and the built-in equalizer all play a role. So do the volume controls built into Windows/OSX, as well as other sound "enhancements" performed by your audio device.

With high-resolution audio, there's simply more room for error - all those little rounding errors likely won't add up to something your ears can detect. However, with 44.1khz/16bit ("CD-quality") audio, there's not much room for error: 44.1/16 is just good enough to cover the range of normal human hearing, and excessive audio processing quickly adds up to something our ears can detect.

In many ways, it's exactly like working with lossy JPEGs. JPEGs are fine for viewing and can be nearly indistinguishable from uncompressed master photos, but once you start editing JPEGs extensively all of the artifacts pile up pretty quickly.