A fix is coming to devices as part of the May Patch Tuesday

May 1, 2019 12:41 GMT  ·  By

A security feature that is built into Windows 10 makes Chromium-based browsers more than three times slower on testing environments, as revealed by a Vivaldi developer.

Yngve Pettersen explains in a blog post that the issue was discovered when adding Windows 10 testers to the Windows unit test cluster, which until that point was entirely based on Windows 7 Pro.

“We immediately noticed performance problems. A test suite that previously took about 100 minutes to run, now took 300 or even 360 minutes. We tried fixing the problem by tweaking the OS configuration, replacing drivers, and adjusting the virtual machine’s configuration. Nothing helped, and we went back to the old Windows 7 Pro instance,” he says.

After trying several workarounds, such as installing new SSDs for further tests, going back to Windows 7 was pretty much the only thing that worked to improve testing performance.

“It was definitely not the VM environment. One of the tests that took 100 minutes when run on Windows 10 on this machine, took 20 (twenty!) minutes on Windows 7,” the developer of Vivaldi, which is a browser running on Chromium, explains.

Fix coming next Patch Tuesday

The issue was originally believed to be tied to the CreateProcess call, but after sending a bug report to the Chromium team, it was discovered that it all came down to the Control Flow Guard, or CFG.

As per Microsoft, CFG is a feature that was specifically implemented to prevent memory corruption vulnerabilities “by placing tight restrictions on where an application can execute code from.”

Chromium developer Bruce Dawson discovered that turning off this feature resolves the issue on Windows 10.

The bug was then reported to Microsoft, who managed to fix it last week, with a full patch now expected to be published for all users on the May 14 Patch Tuesday.

In the meantime, what’s important to know is that users are unlikely to experience any performance issue due to this bug as it mostly hits testing environments, as the Vivaldi developer explains.

“It could be that this issue affects normal browser usage, too, since both Chrome and Vivaldi start new processes for each tab, but as much of the actual code is located in DLLs shared among the processes, and the Windows CFG configuration is reused for DLLs, it might not be as noticeable in normal use.”