那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

微軟WSL的默認(rèn)終端輸入為什么如此順滑

汽車玩家 ? 來源:開源中國 ? 作者:局長 ? 2019-12-25 09:50 ? 次閱讀

一名開發(fā)者(下用Nick代稱)在Windows Terminal的GitHub repo中發(fā)表了一個(gè)不是反饋問題的issue——他只是好奇該終端擁有這種如此順滑輸入的效果是如何實(shí)現(xiàn)的。

Nick覺得這種順滑感是其他Windows應(yīng)用都不具備的,甚至是最輕量的notepad.exe都未能提供這種輸入體驗(yàn)。他還問到,這種UI增強(qiáng)功能將來是否會(huì)應(yīng)用于所有Windows應(yīng)用程序。

很快,負(fù)責(zé)此項(xiàng)目的Windows開發(fā)團(tuán)隊(duì)成員(@miniksa)對Nick的疑問進(jìn)行了解答。

miniksa表示,保持在WSL(Windows Subsystem for Linux)默認(rèn)終端輸入內(nèi)容的速度比其他應(yīng)用快,這實(shí)際上就是他們唯一的工作!除此之外,也可能是因?yàn)樗麄儽仨毷褂肳indows最舊和最低級別的API來完成此項(xiàng)工作。

WSL的默認(rèn)終端不像Electron等框架那樣涉及到許多其他的層或框架,它有一個(gè)并不特別的裸窗口,并且沒有任何附加組件。他們會(huì)從窗口消息(window messages)而不是某種事件框架((WPF, WinForms, UWP, Electron))來處理鍵入的內(nèi)容,而這些內(nèi)容是通過內(nèi)核傳輸過來的。接著,他們使用GDI的PolyTextOut將文本直接轉(zhuǎn)儲到窗口而不帶多余的裝飾。

miniksa解釋道,notepad.exe確實(shí)很輕量,不過在其窗口上也具有多個(gè)控件,并且可能在編輯控件中使用某種庫、框架來確定其文本布局(也可能正在使用其他庫或框架進(jìn)行國際化支持...),這些都使得它們的輸入速度比不上WSL默認(rèn)終端。當(dāng)然,WSL也需要進(jìn)行權(quán)衡取舍,它不像其他應(yīng)用那樣提供完全的國際化支持。

為什么要這樣做?第一,conhost.exe已十分陳舊。它必須使用所有內(nèi)容的裸機(jī)底層,因?yàn)樗窃趧?chuàng)建其他大多數(shù)框架之前創(chuàng)建的。第二,它需要保持盡可能底層的級別,而且它是用C/C++編寫的,它需要盡可能保持底層的狀態(tài)以方便提供給第三方使用。

至于其他Windows應(yīng)用是否有機(jī)會(huì)用上這種順滑的輸入效果,miniksa覺得幾乎是沒機(jī)會(huì)。這些應(yīng)用能夠以一種簡單的方式用任何一門語言來調(diào)用一種方法和布局文本(layout text),而無需手動(dòng)計(jì)算像素或關(guān)心它們的字體該采用哪種樣式。而恰好miniksa手動(dòng)計(jì)算像素、滑動(dòng)區(qū)域和數(shù)學(xué)應(yīng)用區(qū)域等的方式正是使得WSL默認(rèn)終端輸入速度更快的原因。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 微軟
    +關(guān)注

    關(guān)注

    4

    文章

    6630

    瀏覽量

    104473
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3570

    瀏覽量

    89308
收藏 人收藏

    評論

    相關(guān)推薦

    RHEL即將成為微軟WSL的官方Linux發(fā)行版

    紅帽和微軟共同宣布, Red Hat Enterprise Linux(RHEL)即將成為微軟 Windows Subsystem for Linux(WSL)的官方 Linux 發(fā)行版 。 “對于
    的頭像 發(fā)表于 11-26 11:03 ?394次閱讀

    請問ADS131E08EVM原板默認(rèn)輸入方式是差分輸入嗎?

    請問ADS131E08EVM原板默認(rèn)輸入方式是差分輸入嗎?如果是的話,請問怎么能改為單端輸入
    發(fā)表于 11-20 06:01

    微軟拼音輸入法導(dǎo)致KiCad卡死

    “?在Windows10切換到微軟拼音輸入法,即使是英文輸入狀態(tài),操作KICAD會(huì)隨機(jī)卡死。現(xiàn)象是鼠標(biāo)沒反應(yīng)了,啥也做不了,只能結(jié)束進(jìn)程。” 問題描述 在KiCad 6及之后的版本中,當(dāng)IME為
    的頭像 發(fā)表于 11-12 12:23 ?407次閱讀
    <b class='flag-5'>微軟拼音輸入</b>法導(dǎo)致KiCad卡死

    TLV320ADC3101_EVM差分輸入如此連接正確嗎?

    差分輸入如此連接正確嗎?MK的引腳置于N2L(-) N3L(-)
    發(fā)表于 10-22 07:58

    瑞芯微RK3566鴻蒙開發(fā)板Android11修改第三方輸入法為默認(rèn)輸入

    本文適用于觸覺智能所有支持Android11系統(tǒng)的開發(fā)板修改第三方輸入法為默認(rèn)輸入法。本次使用的是觸覺智能的Purple Pi OH鴻蒙開源主板,搭載了瑞芯微RK3566芯片,類樹莓派設(shè)計(jì),是Laval官方社區(qū)主薦的一款鴻蒙開發(fā)板。
    的頭像 發(fā)表于 09-24 09:43 ?533次閱讀
    瑞芯微RK3566鴻蒙開發(fā)板Android11修改第三方<b class='flag-5'>輸入</b>法為<b class='flag-5'>默認(rèn)輸入</b>法

    WSL的ubuntu里面的VSCode燒寫不成功是怎么回事?

    系統(tǒng)Windows10,WSL版本2,ubuntu版本20.04 VScode里面安裝IDF插件,編譯成功 燒錄時(shí),點(diǎn)左下角插頭圖標(biāo)能檢測到ESP32核心板的串口COM6 燒寫時(shí)提示 No module named 'serial' 請問能不能配置COM6口?
    發(fā)表于 06-21 08:14

    WSL2+ubuntu+vscode+esp-idf環(huán)境中,刷寫時(shí)選擇ESP32-S3(Built-in USB JTAG)、UART模式提示報(bào)錯(cuò)的原因?

    系統(tǒng)為WIN11專業(yè)版,板子為ESP32-S3-WROOM-1,通過340C連接到RX,TX。Arduino下可以正常刷寫。 在WSL2+ubuntu+vscode+esp-idf環(huán)境中,編譯
    發(fā)表于 06-14 06:23

    ESP32S3用WSL作為開發(fā)環(huán)境, log開啟verbose有錯(cuò)誤提示,為什么?

    xtensa-esp32-elf-addr2line -pfiaC -e \\wsl$Ubuntu/home/younggu/learned/blink/build/blink.elf
    發(fā)表于 06-05 06:35

    微軟將優(yōu)化Windows Subsystem for Linux并加入圖形用戶界面設(shè)置

    微軟宣布提升Windows Subsystem for Linux(WSL)性能,推出全新設(shè)置應(yīng)用提供圖形化配置環(huán)境。
    的頭像 發(fā)表于 05-31 11:26 ?598次閱讀

    微軟確認(rèn):Windows 11 24H2 默認(rèn)啟用 BitLocker 磁盤加密

    微軟在聲明中明確表示:“為了提升用戶體驗(yàn),我們剝離了Modern Standby / HSTI驗(yàn)證以及非可信DMA端口檢測項(xiàng),因此,自此之后的Windows 11重裝操作都將默認(rèn)開啟設(shè)備加密功能。”
    的頭像 發(fā)表于 05-09 15:55 ?1039次閱讀

    微軟更新Win11強(qiáng)制推廣產(chǎn)品引發(fā)爭議

    令人困惑的是,這個(gè)窗口并非出現(xiàn)在新電腦上,而是已使用一段時(shí)間的Win11設(shè)備中出現(xiàn)。其中包含了多個(gè)推廣微軟自有產(chǎn)品的選項(xiàng),如使用OneDrive云端備份文件、設(shè)定Edge瀏覽器為默認(rèn)瀏覽器、訂閱微軟365套餐等。
    的頭像 發(fā)表于 04-29 10:06 ?566次閱讀

    關(guān)于linux的默認(rèn)網(wǎng)關(guān),Linux雙網(wǎng)卡配置

    默認(rèn)網(wǎng)關(guān)是一個(gè)用于 TCP/IP 協(xié)議的配置項(xiàng),是一個(gè)可直接到達(dá)的 IP 路由器的 IP 地址。配置默認(rèn)網(wǎng)關(guān)可以在 IP 路由表中創(chuàng)建一個(gè)默認(rèn)路徑。
    發(fā)表于 04-19 11:31 ?4184次閱讀
    關(guān)于linux的<b class='flag-5'>默認(rèn)</b>網(wǎng)關(guān),Linux雙網(wǎng)卡配置

    微軟WSL更新支持IPv6流量透過Linux

    據(jù)悉,微軟近期對Windows Subsystem for Linux(WSL)進(jìn)行了2.2.2版本更新,包含多項(xiàng)優(yōu)化改進(jìn)。其中最引人注目的便是新增的nft規(guī)則,允許IPv6數(shù)據(jù)包經(jīng)過Linux容器傳輸。
    的頭像 發(fā)表于 04-08 10:23 ?1081次閱讀

    微軟向Windows 10/11推送更新,建議將Bing設(shè)為Chrome默認(rèn)搜索引擎

    微軟通過提示窗口表示,只要將Bing設(shè)為Chrome瀏覽器的默認(rèn)搜索引擎,即可免費(fèi)享用ChatGPT-4,且每天可與Bing人工智能進(jìn)行數(shù)百次的對話交流。
    的頭像 發(fā)表于 03-15 14:32 ?1403次閱讀

    鴻蒙之@ohos.bundle.defaultAppManager (默認(rèn)應(yīng)用管理)

    本模塊提供查詢默認(rèn)應(yīng)用的能力,支持查詢當(dāng)前應(yīng)用是否是默認(rèn)應(yīng)用。 說明 本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。 導(dǎo)入模塊
    的頭像 發(fā)表于 02-20 17:29 ?557次閱讀
    鴻蒙之@ohos.bundle.defaultAppManager (<b class='flag-5'>默認(rèn)</b>應(yīng)用管理)
    如何胜百家乐的玩法技巧和规则 | 百家乐如何稳赢| 姚记娱乐城信誉最好| 百家乐电脑上怎么赌| 百家乐官网公式分析| 欧凯百家乐的玩法技巧和规则| 百家乐官网游戏大厅下| 太阳城娱乐开户| 网络百家乐金海岸| 百家乐官网赌博走势图| 六合彩官方网站| 网络百家乐输了很多钱| 金榜百家乐官网娱乐城| 百家乐真钱游戏| 网上百家乐赌博出| 电脑百家乐官网的玩法技巧和规则| 皇冠足球投注| 沙龙百家乐娱乐平台| 连环百家乐官网怎么玩| 卡宾娱乐| 神话百家乐的玩法技巧和规则| 劳力士百家乐官网的玩法技巧和规则| 泸定县| 大发888官方pt老虎机大咖炸金花网页扎金花| 百家乐真人投注网站| 百家乐官网娱乐网送68元| 和记国际网上娱乐| 百家乐讲谈| 玩百家乐官网掉房| 赌百家乐官网的下场| 大发888下载ylc8| 百家乐平注法攻略| 金钱豹百家乐官网的玩法技巧和规则 | 网络百家乐官网漏洞| ea平台| 大哥大百家乐官网的玩法技巧和规则 | 百家乐有作弊的吗| 百家乐官网园sun811.com| 博彩网站排行| 合肥太阳城在哪| 百家乐网上赌博网|