As Microsoft brings its Xbox One game console closer to the PC, it needs a point person to orchestrate gaming experiences across both of those platforms. At Microsoft, that person is Mike Ybarra, director of program management for Xbox. PCWorld’s Mark Hachman sat down with him recently to discuss the future of DirectX 12, multi-GPU gaming, and whether coding for the Microsoft HoloLens was as easy as Microsoft implies it is. (Interview edited for length and clarity.)
We’re just starting to see games that take advantage of DirectX 12, including Ashes of the Singularity, which came out last year. When are we going to see mainstream adoption of DX12 in new games?
Ybarra: We’ve got a list of third-party games coming, but it’s highly confidential. But there’s a lot coming. And we’re landing things like explicit multi-GPU. Basically, as a game developer, you previously had to do a deal with either AMD or Nvidia, or figure out if they could optimize their driver for your game, and then get whitelisted in their driver list.
We had to remove that complexity for developers, because a lot of people didn’t optimize for multiple GPUs. So the core gamer that went and bought a $2,700 PC was sitting there saying, hey, I’m only getting 20 percent more performance with two GPUs—what’s broken?
What this means is that the game developers have to basically say, I have to think about [multi-GPU] as I write my game, but now I don’t have these dependencies, and I don’t have to have Nvidia or AMD breaking any drivers... The complexity inherent with all that causes stability problems in Windows, in general.
So we’re going to patch all that up. And a lot of games are taking their time to make sure they land those points. But in the next six months you’ll see a lot.
We’ve tested explicit multi-GPU before, which allows GPUs from AMD, Intel, and Nvidia to work together in concert to improve graphics. But is there a list of compatible hardware? What’s supported?
With explicit M-GPU, you can put an AMD or an Nvidia card together. Most PCs like those have integrated Intel GPUs, where historically if you put an external GPU in, that was it—that thing sat idle. We’ll take advantage of it, as well. Basically, any graphics card out there.
But how old can those cards be?
Oh, I’ve seen the test lab use [Nvidia GeForce GTX] 680 cards. We’ve seen it take advantage of cards that are very old. So if you have a 680 card and buy a new 980 card, that 680 doesn’t need to go into the trash.
Frankenstein builds being pretty common in the DIY PC community...
And how many GPUs will explicit M-GPU support concurrently?
Well, the most I think you can get in today is four. And we’ll support that. It shouldn’t matter.
And obviously you don’t need a bridge with PCI Express 3.0.
What’s the expected lifespan of DirectX 12? Windows 10 is supposedly the “last Windows,” but I can’t imagine DirectX 12 lasting forever.
Historically with DirectX we’ve taken something like DirectX 11 and brought out DirectX 11.1 and 11.2 and 11.3, and it goes on for a long time. I mean [DX]11 was out forever before [DX]12 came out. [Editor’s note: Microsoft launched DirectX 11 in Oct. 2009.] We expect DX12 to have the same life. We’ll add new APIs, new capabilities, more hardware, whatever Nvidia or AMD come out with. That’s the plan—to act more like a service, rather than jump into 13, jump into 14.
Consumers get really confused—does my card work, does it not work? So we’re trying to make that a little easier.
Do you see DirexctX 12.1, 12.2, 12.3 as incremental improvements or generational leaps?
It all depends. If someone comes out with a graphics card with a special set of hardware that could help boost DX12 graphics performance by 30 percent, we could say, “Wow! This is like DX15!” I guess it depends on where they go and where we go. We will add more instructions and let game developers take advantage of the hardware a lot more. DX12 is a pretty big beat. I can’t tell the future, but it would be surprising if something like a DX13 would hit, and we’d treat it like a 12.1.
I like the approach we have that DX12 will grow with new features. Even if there are big catalyst moments in there, I think that’s a good thing.
Any thoughts on (DirectX competitor) Vulkan?
I know little about it, although I know that Ashes [of the Singularity] is looking at it. They’re trying to figure it out themselves.
You know we work very closely with AMD and the other guys on specific instructions they want. And I hope we don’t live in a world where you if have this graphics card, you get these features, or you get this one when you get that one—Windows is a world where you buy Windows, you buy a graphics card, here’s the benefits for everybody.
We want [hardware vendors] to be more successful, and not have to invest [in Vulkan], but at the same time, we totally understand. They have to differentiate themselves.
So far you’ve talked about gaming on two platforms: the PC and the Xbox. But you do have a mobile platform—that, let’s face it, is struggling. But Continuum, where you can take a mobile app and run it on a desktop monitor, is one of its most interesting features. Do you see a future for gaming on Windows phones or mobile devices?
Absolutely. I think what it starts with is what [we] call the UWP [Universal Windows Platform]. We’re going to start with our strengths—there are millions of [Windows] devices out there, but it’s not the hundreds of millions of devices that iOS has, and I don’t know how many Android has—but it’s a big number, right?
We can get UWPs on the PC and on the console—by definition the platform developers can very easily get it on the phone. And that’s kind of the vision: Don’t think about where you’re at, build your game, do a couple of tweaks and you’re going to see it run. Will you see Halo 18 run on this [phone]? No, so you gotta be smart about that. But we’ll invest in the mobile space as well.
And frankly, with Xbox, I want to focus on the gamer. So when I think about bringing Xbox Live to other platforms, we have Xbox Live on iOS and Android right now. Those are areas we want—if our gamers have those devices, we want them to be able to engage with our gaming platform, too.
Speaking of Universal Windows Platforms, we also have the HoloLens. Theoretically, you should be able to write for the HoloLens, too, with just a single Universal app—it all sounds really easy. But is it really that simple?
There’s a lot of shared code. But I think that it’s going to be up to the game developer to say, “What am I really optimizing for?”
Developers will have to say ‘I’m on a PC, and my [user interface] looks something like this.” But if I’m on a mobile device, it’s different. The UI is different. We’re providing a base-level universal taxonomy for people, but some people will invest the engineering to make it really pop, such as Netflix for TVs, as opposed to Netflix.com.
There will have to be a little UI work. The goal is to have enough templates to minimize that work.