Architecture and Operating System
Oh god, we're jumping right into hardware architecture and the OS? Yes, shut up. This is actually pretty cool.
At a panel
about building the new hardware yesterday, about an hour after the
keynote, Major Nelson spoke with four of the key decision makers
involved with the Xbox One. And most of the decisions focused around
speed, but not quite through sheer brute force.
The
operating system is a little deceptive in its complicated simplicity. As
Microsoft tells it, the normal playbook would have been to slap a
dedicated gaming OS on an improved piece of hardware—standard operating
procedure since forever—but it wasn't so simple. On one hand, Microsoft
understood modern users have a lot of use for a machine that can do more
than one thing at a time. But it had to chase that goal without
kneecapping its gaming base.
According
to Microsoft, looking at the needs of current games, and their
trajectory, they could have gotten away with 5GB of RAM, or even 4GB,
and run games the way they were meant to be played. So why go with 8GB?
Just to keep up with Sony and the PS4 (albeit DDR3 and not the PS4's
GDDR5)? Not exactly. It has to do with the broader operating system.
So the
One's OS is broken down to two virtual machines (VM), running
simultaneously. One is optimized for games, and the other for apps. You
know those instantaneous app switches that you saw at the keynote, going
from a game to a movie and back again in a flash? That was the OS's
VM-layout at work. In simple terms, it runs and draws two apps at once,
one on the game side (it seems you can run non-games on this side), and
one on the app side. They're only separated by a display panel, so
switching is more or less just alt-tabbing over.
Expand
This design
actually solves a lot more problems than just switching between the
two. Because the app side launches as soon as you turn on your console
and runs the whole time, it can perform background tasks, like keeping
you in a matchmaking queue, while you are playing another game, or doing
something else entirely.
Beyond
that, the two-pronged layout fixes the main concern game developers have
about consoles running apps, which is that it changes the constants
that make working on consoles possible. An app-enabled system would
perform differently if it's running zero apps compared to even two or
three, probably. And it's already expensive enough to make a video game.
If you need to create renders for a variety of available resource
situations, that's just piling on in a pretty untenable way. If you're
going to go to that trouble, you may as well just make PC games. But
with the Xbox's split OS, it dedicates specific hardware resources to
the two VM partitions (5GB to gaming, 3GB to apps and the "middle" OS),
and they never share. This will probably result, occasionally, in one
side (probably gaming) maxing itself out when there's enough beef in the
Xbox to power through if it had full reign over the entire system. But
it also, crucially, means console developers (and console players!) get
the standardized performance that makes console gaming what it is.
Building a Better Kinect
OK, so you know some of the impressive tech specs on the new Kinect.
It's got two 1080p cameras that shoot at 60fps, and has a 60-percent
larger field of view. It also uses new tech to time how long it takes
for photons to bounce off of you and come back, a process that takes
just 13 billionths of a second. Fine. How about few notes about the tech
that doesn't get talked up as much.
Directivity
is key in ways that probably aren't fully understood. That is, the
Kinect's ability to listen to a sound and know exactly where it's coming
from, and more importantly, who it's coming from. In fact, the Kinect
doesn't have any form of voice recognition; it's simply recognizing your
face/body, as all the demos show, and then pinpointing which skeleton
the sound is coming from based on location. That might sound like a
patchwork fix, but it's actually pretty clever, keeping Microsoft from
having to master one more form of analysis, and instead
cross-referencing information it's already got.
This is
made possible by a few things. First is the exact placement of the
microphones. Because they need to be able to pick out exactly which
direction a sound is coming from, this is a big deal. So after basically
building from the ground up with its partner PrimeSense for the
original Kinect, Microsoft hired a ton of sound experts to tear the
microphone array apart and figure out how to optimize it. And after
months of research, apparently, they put it right back the way they
found it. Microsoft had stumbled onto the right answer its first try.
Maybe checking your work is boring, but assuring that the mics were as
well-positioned as possible is key to designing the rest of the
accoutrements and getting them calibrated properly. Just like game
developers, the Kinect team needs a set of constants to rally around.
Expand
Speaking of
developing, the other big thing is the software side of the Kinect,
which doesn't get as much attention as the hardware, but might actually
be the coolest thing anyone at Microsoft is working on. New ways to
interface with computers are the future. And the Kinect is one of the
broadest attempts to bring voice and gesture into real people's homes.
This time around, they focused on figuring out how to deal with problem
users like soft speakers, and women and children (though we didn't quite
get an explanation about why women are a broad problem). This is done
through a variety of testing in mock living rooms, arranged differently
to recreate typical rooms in different geographic regions, with
simulated voices and ambient noise.
The Xbox's
sound output isn't an issue because the Kinect knows exactly what sound
it's outputting, so it can cancel itself out as it analyzes the noise,
no matter how loud you have your speakers. The popular example of that
is a guy playing Call of Duty loud enough to kill a horse, and casually
saying commands like "Delta team, Target Alpha", and the microphone
takes a mess of noise and turns it into the exact commands. This feature
will also, going forward, fix the old 30 Rock joke, played out at the
Xbox One keynote, where someone on screen saying Xbox Off will turn off your Xbox.
Finally,
the Kinect's own chipsets were updated, and this time their
architectures were built entirely in-house by Microsoft (that's a big
deal; even the Xbox's SoC was designed with help from AMD). Between that
and being able to utilize dedicated sound processing hardware, it
should be a much cleaner experience than the original Kinect, which had
to jerry rig what was shipped with the original Xbox to perform this
crazy new task.
Expand
Full View of the Cloud
Everyone
just sort of nods along when cloud gaming is brought up. It's not an
especially captivating idea. (The only reason anyone really perked up
over it with the PS4 was because of backward compatibility.) Video games
are most easily understood in concrete examples, and the real work in
conceptualizing how to use this tech hasn't really been done yet. But
man this is cool.
Essentially,
Microsoft has made the Xbox modular. The background tasks that will be
offloaded to the cloud will be a serious deal in a large number of
cases. You know how in Skyrim sometimes you can look at a specific part
of a specific wall and your framerate will randomly dip down into the
afterlife? That workload (which is probably a silly mistake, but still)
would probably be shifted off to some Microsoft server, and never make
it to your Xbox. The decision-making process of when to do that—it only
fires on "latency insensitive" loads, not "latency sensitive" ones—still
dictates that the majority of workload will still be done locally,
client side (i.e. on your Xbox). But that's not always going to be the
case.
What's in
the box, the hard specs, was determined by the experience team to be a
big enough step forward to be a next gen console, and being that the
PS4's specs are basically identical, it seems basically right. It's the
step you'd take if you were just doing what you'd always done. But the
ways that hardware, alongside the cloud computing, will be used have the
ability to expand drastically.
The 300,000
Xbox Live servers Microsoft is bringing online this year will be a
constant developers can rally around, knowing that the vast majority of
users will be connected, so you can try out new ideas knowing that
they'll be usable by almost everyone. (The same goes for the Kinect
being included with every One.)
Expand
Hardware Nuts and Bolts
We heard,
briefly, what's inside of the new Xbox yesterday. Eight 64-bit cores,
8GB of high-speed RAM, and an on-chip GPU with built-in sRAM. We already
know that the 8GB of RAM was because of the OS decision, but there are
some other key and esoteric points about the hardware.
Microsoft
claims the caches are blazing fast, and this and the sRAM embedded right
onto the new SoC will keep the GPU running at max workload instead of
falling behind. Overall improvements to chip coherency should help this
as well. If the One wants to stick around even half as long as the 360,
it's going to need to squeeze all the performance it can out of these
guts.
There's
obviously a ton more to talk about down the nerd rabbit hole, but these
are some of the highlights that fall away from mainstream coverage, but
affect how you're going to use the new Xbox.
No comments:
Post a Comment