Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

thegoldenmackid

macrumors 604
Original poster
Dec 29, 2006
7,770
6
dallas, texas
First off, I'm slightly frustrated.

The reason why I am writing this is to see if this isn't just the opinion of me.

I love my mac, yet the only thing windows users can truly complain about now is the lack of wide-use integration of OSX which leads to a lack of video games.

The new Intel mac's gave me some light into a future where I can play GTA San Andreas (and other DirectX9 Games) on my mac. So when Bootcamp first came out I downloaded it and it worked with a couple of downsides:
1. Rebooting
2. Partioning Disk Space, what a guessing game
3. Battery life is 2.5hrs in OSX and 50 minutes in Windows

But, I could play GTA, then there were some other alternatives:
VMWare Fusion and Parallels don't offer DirectX9 limiting most games from running, but they do offer direct side-by-side intergration and the battery life is a little better.

So then there was Crossover and the debate over Crossover when it first came out was as far as I could tell:
Positives:
1. Smaller Application, increasing productivity and battery life b/c you don't have to run all of windows
2. Cheaper Solution
3. Quicker, less visualization

Negatives
1. Number of Applications, people thought that in order for Crossover to be successful they would have to support a lot of applications, which would cause major applications that are universal (Windows/Mac) to be developed only in a Windows atmosphere, which would be bad for numerous reasons.

HOWEVER, this isn't true Crossover if you haven't looked isn't exactly the quickest developing thing, and I don't want to necessarily say it is bad, but I don't see how long it can stay in business as a Commercial/Home Software, when they aren't producing many Windows-Exclusive applications for a home/non-commercial user (i.e. games) because most of the non-commercial software besides games (i.e. Tax Stuff, Chatting Software, Media and Microsoft Office) are already available in OSX natively...

Thats my rant, my only question is: is there something that is holding DirectX9 from being prevented from being virtualized.
 

mkrishnan

Moderator emeritus
Jan 9, 2004
29,776
15
Grand Rapids, MI, USA
Thats my rant, my only question is: is there something that is holding DirectX9 from being prevented from being virtualized.

I think the core thing to understand is that the new Intel architecture created a specific mechanism in which access to the CPU could be easily virtualized. This is why, with the Core Duo and Core architecture processors, Parallels came out so quickly, and VMWare and the others were able to so quickly also replicate virtualization.

As far as I know, Intel's design did not include any specific equivalent architecture for virtualizing the GPU. So in order for DirectX to be usable in a virtual environment, a system that plays nicely with both OSes and allows the GPU to be virtualized has to be created. That's technically feasible, I'm sure, but it's far from easy.
 

thegoldenmackid

macrumors 604
Original poster
Dec 29, 2006
7,770
6
dallas, texas
I think the core thing to understand is that the new Intel architecture created a specific mechanism in which access to the CPU could be easily virtualized. This is why, with the Core Duo and Core architecture processors, Parallels came out so quickly, and VMWare and the others were able to so quickly also replicate virtualization.

As far as I know, Intel's design did not include any specific equivalent architecture for virtualizing the GPU. So in order for DirectX to be usable in a virtual environment, a system that plays nicely with both OSes and allows the GPU to be virtualized has to be created. That's technically feasible, I'm sure, but it's far from easy.

I'm not that technical with Chips and others, but if I understand correctly, the main reason why it is hard is because running both OSes at the same time with DirectX9 isnt the easiest thing?
 

mkrishnan

Moderator emeritus
Jan 9, 2004
29,776
15
Grand Rapids, MI, USA
Erm, the concept of virtualization is that discrete processes (or whatever you want to call them) *share* direct access to hardware that is traditionally designed to have only one master at a time.

In a modern OS environment, the hardware has just one master -- the operating system. The operating system is a gatekeeper that acts as a middle-man between application software and hardware. The OS handles all the incoming requests and figures out how to manage them in hardware.

What DirectX does (much like OpenGL) is allow for more direct access to the processing power of the graphics card. When a card is designed to be used with DirectX, then the game can tell the operating system to do something graphical, and all the computations involved get dumped on the graphics card instead of the CPU. This causes a major advance in speed for 3D games, etc. But in order for it to work, DirectX has to be able to talk to the graphics card.

The problem is that OS X already has control over the graphics card. So in order for DirectX to also control the graphics card, it either has to be virtualized (so that both OS X and DirectX can talk to it) or you have to emulate it (so that DirectX talks to the emulated card).

Since the graphics card was not designed to be virtualized, this isn't trivial.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.