DirectFlip was a great feature, but it only worked in limited scenarios (which never occurred on a Windows Phone, where the savings was the most important). Hardware that supported multiplane overlays, on the other hand, was usually capable of skipping the DWM composition step most of the time. For example, when watching a video with some controls on the screen like this:

The video gets rendered 30 times per second, but the onscreen controls get updated every second or so. As the hardware blends the two planes to form the final image, the DWM composition pass only must occur when the video controls get updated. The result is significant power savings.
I updated the Direct3D presentation code so that the application does not have to know about any of this (although it could if it wanted to) – the most optimal behavior would automatically happen by default. We later made addition tweaks over time to support new hardware features, such as hardware stretching support that allowed multiple display modes to be set on an LCD panel that had a fixed resolution.
The DWM has a kernel mode component that manages the frames to be presented by each application. When the DWM wakes up at the start of the next VSYNC, it calls into the kernel component to get the next image to display for each application (the exception being the early wake-up mode that I described previously). I modified this kernel mode component to instead automatically issue a kernel mode flip to the new buffer without the need for the DWM to wake up at all. This work required a lot of details that I have since purged from my memory, but the net effect was that we support the early wake up mode behavior without waking up the DWM at all. The result was a much more predictable system with fewer glitches. This feature is called IndependentFlip.
We added these features primarily with phones and tablets in mind, but it turns out that this became critical to the XBOX One as well. They designed it using three virtual machines as follows:
- An exclusive partition meant to only run important games (one at a time). This allows the games to run in a secure environment using dedicated resources. These are unaffected by malware and ensures that the game’s performance is not impacted by other apps that might be running on the XBOX one.
- A shared partition that runs Windows and other apps that are not important games (including video).
- A host OS that manages the two VMs and ensures that things work.
The problem is that sometimes both the exclusive and shared partitions need to display content simultaneously. For example:
- You are playing a game and a notification occurs indicating that friend is online. The notification is generated by the shared partition while the game is using the exclusive partition.
- The game might be shrunk to a smaller window within a menu screen (which is rendered within the shared partition).
Sharing large images between two virtual machines is slow and at odds with the XBOX One’s goals. As it happens, the XBOX engineer working on this problem was Sameer Nene – my good friend and former manager. At the time, the XBOX and Windows organizations were entirely separate and did not talk at all, so Sameer had no knowledge of our multiplane overlay or IndependentFlip plans, but it happens that what we were doing was exactly what he needed. He was about 6 months behind our release schedule, so we were able to make it all work seamlessly.
One Saturday morning my phone rang at exactly 8:00am (it was obvious that somebody carefully timed the call). It was Sameer and he explained how they had a developer release scheduled for Monday morning and they just realized that they had a bug that would block that release. They had no idea what it was, but they had exactly one ETL trace and were hoping that I could come in and look at it. I spent the day with Sameer and we determined both the bug and a simple workaround that they could employ to unblock their Monday release.
Shipping the XBOX One was kind of a big deal. Members of the XBOX team received a special version of the XBOX One that was white and that had a little plaque saying “I MADE THIS.” For the first year, black was the only color available for the XBOX One, so the white versions were highly sought after. You also had to be a member of the XBOX team for a certain period to qualify for the white XBOX One. Only a few people outside of the XBOX team were given a white XBOX, but I was one of them.
On Nov 20, 1993 I brought home my white XBOX One (2 days before the general release) and it was the first time in my career that I got any street cred from my kids (especially when they posted a pic and Forza liked it within 5 minutes). For one day, my son Austin was ranked among the top 10 Forza players in the world (on the XBOX One platform that only had about 100 active players due it not having been released yet). His ranking dropped significantly after it was released.
