99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

微軟WSL的默認終端輸入為什么如此順滑

汽車玩家 ? 來源:開源中國 ? 作者:局長 ? 2019-12-25 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

很快,負責此項目的Windows開發(fā)團隊成員(@miniksa)對Nick的疑問進行了解答。

miniksa表示,保持在WSL(Windows Subsystem for Linux)默認終端輸入內容的速度比其他應用快,這實際上就是他們唯一的工作!除此之外,也可能是因為他們必須使用Windows最舊和最低級別的API來完成此項工作。

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

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

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

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

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

    關注

    4

    文章

    6686

    瀏覽量

    105771
  • WINDOWS
    +關注

    關注

    4

    文章

    3614

    瀏覽量

    91429
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    yolov8怎么在wsl中搭建呢?

    純小白,yolov8怎么在wsl中搭建呢?一直報錯且無法安裝pip包
    發(fā)表于 07-11 07:37

    淺談wsl --update` 命令行選項無效的解決方案

    PS C:\Users\Administrator> wsl --update >> 命令行選項無效: --update
    的頭像 發(fā)表于 06-27 10:28 ?627次閱讀

    WSL 1 和 WSL 2 的區(qū)別是什么

    PS C:\Users\Administrator> wsl --set-default-version 2 >> 有關與 WSL 2 的主要區(qū)別的信息,請訪問 https://aka.ms/wsl2
    的頭像 發(fā)表于 06-27 10:25 ?233次閱讀

    rt thread的Finsh終端啟用后,怎樣才能在函數(shù)里讀取終端輸入的字符串?

    如題,AI的建議是使用rt_kscanf,但是并沒有查詢到實際有這個函數(shù)。 本意是想校準一系列的值,在函數(shù)中通過終端輸入來,輸入校準值。 但shell.c文件里在shell線程中已經(jīng)調用了finsh_getchar()
    發(fā)表于 06-11 07:39

    岳冉掃描打印一體手持終端高效移動辦公 #手持終端 #PDA

    終端
    yueranxinxi
    發(fā)布于 :2025年05月12日 17:34:16

    如何將FX3與WSL(Linux 的 Windows 子系統(tǒng))一起使用?

    如何將 FX3 與 WSL(Linux 的 Windows 子系統(tǒng))一起使用? 我在 /dev/ 中找不到任何設備 我有許多項目在 Windows 上使用VISUAL STUDIO項目進行操作,因此請驗證該設備是否在 Windows 上運行。
    發(fā)表于 05-06 07:11

    為什么Can MV IDE終端無法輸入字符?

    為什么Can MV IDE終端無法輸入字符
    發(fā)表于 04-29 07:46

    旺詮WSL系列合金電阻的低阻值如何實現(xiàn)高精度?

    在現(xiàn)代電子設備中,電阻器是不可或缺的元件,其性能直接影響到電路的穩(wěn)定性和精度。旺詮WSL系列合金電阻,以其低阻值和高精度的特點,在眾多應用場景中脫穎而出。本文將探討旺詮WSL系列合金電阻如何通過獨特
    的頭像 發(fā)表于 03-20 16:28 ?279次閱讀
    旺詮<b class='flag-5'>WSL</b>系列合金電阻的低阻值如何實現(xiàn)高精度?

    pcm1795如果沒有軟件控制,其默認工作狀態(tài),輸入是什么格式和狀態(tài)

    請問:pcm1795,如果沒有軟件控制,其默認工作狀態(tài),輸入是什么格式和狀態(tài)。謝謝!
    發(fā)表于 01-21 08:06

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

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

    請問ADS131E08EVM原板默認輸入方式是差分輸入嗎?

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

    微軟拼音輸入法導致KiCad卡死

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

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

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

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

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