Microsoft’s latest idea for Chromium could benefit Google Chrome and new Edge by offering improved ‘compatibility, performance and battery utilization’ for sensors in the browser. A group of Microsoft Edge engineer is said to be working on better sensors support for Chromium on Windows 10.
According to a Google Docs-hosted document discovered by us, Microsoft wants generic sensor APIs in Chromium to use Windows.Devices.Sensors on Windows 10. Currently, the open-source platform uses ISensor COM APIs which is based on the sensor driver model used in Windows 7.
“We propose that the implementation of generic sensor APIs, device orientation and device motion APIs should be updated to use Windows.Devices.Sensors on Windows 10,” three senior software engineer at Microsoft noted.
The existing method depends on Windows Portable Devices stack for excretion of sensors. With Windows 10, Microsoft has introduced a new sensor driver with these goals:
- Eliminate dependency on WPD (footprint and performance).
- Simplify driver model for reliability.
- Improve performance and battery life through hardware offload.
The hardware offloaded sensors included in Windows.Devices.Sensors will offer better CPU efficiency which is not achievable with the existing sensor. It will also improve the performance and reliability of the browser as the new technology enables faster operations on sensor objects.
“Windows.Devices.Sensors is not available on Windows 7. Chromium should continue to use ISensor on Windows 7,” the company noted in its proposal.
There is also a commit on the Chromium platform, but the current status is merge-conflict and work-in-progress. It’s not known when Microsoft’s bright idea will be approved by the community, but it should land in Edge Canary or Chrome Canary soon.
More recently, Microsoft submitted a proposal to reduce battery consumption in Chromium. According to the documentation, Microsoft wants to turn off unnecessary media caching for streamable content to preserve battery life while streaming video in a browser.