Hacker News new | past | comments | ask | show | jobs | submit login

I believe OS X has graphics drivers provided by Apple, not by the hardware vendors, so that likely has something to do with it.



Yes — but as I said, running the game in a Parallels Windows VM results in 2x better performance than running the same game natively. The same OSX graphics driver is used in both cases, except the VM has to do extra work! How does that make any sense?


A wild guess would be that OS X drivers contain poor shader optimizer.

Parallels probably work by decompiling DirectX shader bytecode back into GLSL, which is already optimized for OS X shader compiler, therefore there is less burden on the optimizer.

Another example of poor drivers are various GLES drivers on mobile, mostly trivial optimizations can drastically increase the performance: http://aras-p.info/blog/2010/09/29/glsl-optimizer/ and https://github.com/aras-p/glsl-optimizer


I was skeptical, but that first link speaks volumes. Interesting theory!


>The same OSX graphics driver is used in both cases

Are you sure? I'd think it isn't passing function calls, but rather direct hardware access. I might be wrong.


Not 100% sure, but I was under the impression that unlike Windows (?), OSX simply does not allow you to have direct hardware access. (Plus, if Parallels was accessing the hardware directly, how would you be able to run the VM in a window while still doing OSX stuff underneath?)

Either way, there's clearly a way to make the game run significantly faster on OSX, but Valve isn't doing it for some reason.


I can't speak to OSX, but on linux I know that virtualbox likes to install kernel modules into the host. If your VM does that, then it should be able to get direct hardware access.


VirtualBox on OS X uses an installer, instead of being a .app you can drag to your Applications folder, so I assume it does as much.


VM software will not ship with drivers for all potential GPUs.

They use the platform graphics APIs like any other app.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: