为什么微软 WSL 的默认终端输入体验比其他同类的应用好?
Nick 认为这种顺滑感是其他 Windows 应用都不具备的,乃至是最轻量的 很快,认真此项目标 Windows 开拓团队成员(@miniksa)对 Nick 的疑问举办相识答。 miniksa 暗示,保持在 WSL 默认终端输入内容的速率比其他应用快,这现实上就是他们独一的事变!除此之外,也也许是由于他们必需行使 Windows 最旧和最初级此外 API 来完成此项事变。 WSL 的默认终端不像 Electron 等框架那样涉及到很多其他的层或框架,它有一个并不出格的裸窗口,而且没有任何附加组件。他们会从窗口动静(window messages)而不是某种变乱框架((WPF, WinForms, UWP, Electron))来处理赏罚键入的内容,而这些内容是通过内核传输过来的。接着,他们行使 GDI 的 PolyTextOut 将文本直接转储到窗口而不带多余的装饰。 miniksa 表明道,notepad.exe 确实很轻量,不外在其窗口上也具有多个控件,而且也许在编辑控件中行使某种库、框架来确定其文本机关(也也许正在行使其他库或框架举办国际化支持…),这些都使得它们的输入速率比不上 WSL 默认终端。虽然,WSL 也必要举办衡量弃取,它不像其他应用那样提供完全的国际化支持。 为什么要这样做?第一,conhost.exe 已异常陈旧。它必需行使全部内容的裸机底层,由于它是在建设其他大大都框架之前建设的。第二,它必要保持尽也许底层的级别,并且它是用 C/C++ 编写的,它必要尽也许保持底层的状态以利便提供应第三方行使。 至于其他 Windows 应用是否有机遇用上这种顺滑的输入结果,miniksa 认为险些是没机遇。这些应用可以或许以一种简朴的方法用任何一门说话来挪用一种要领和机关文本(layout text),而无需手动计较像素或体谅它们的字体该回收哪种样式。而刚好 miniksa 手动计较像素、滑动地区和数学应用地区等的方法正是使得 WSL 默认终端输入速率更快的缘故起因。 本文素材来自互联网 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |