Chrome on Windows performance improvements and the journey of Native Window Occlusion

The Fast and the Curious: Chrome on Windows Performance Improvements and the Journey of Native Window Occlusion
Background
To improve the user experience, Chrome has lowered the priority of background tabs. The Native Window Occlusion project was started to track the occlusion state of each Chrome window in real time and lower the priority of tabs in occluded windows.
Calculating Native Window Occlusion
Since the Windows OS doesn't provide a direct way to find out if a window is completely covered by other windows, Chrome has to figure it out on its own. The occlusion calculation consists of iterating over the open windows on the desktop to see if the windows in front of a Chrome window completely cover it. Marking Chrome windows on a different virtual desktop as occluded is also necessary.
Deciding When to Calculate Occlusion
To prevent Chrome's performance from degrading, the occlusion-calculation thread tells Windows that it wants to track events and examines them to decide whether to do a new occlusion calculation. The UI thread tells Windows that it wants to know when there are major state changes.
Results
Native Window Occlusion led to 25.8% faster start-up and 4.5% fewer crashes.