好吧,所以這可能有點愚蠢,我不知道,但我想知道是否有任何意義雙緩衝文本編輯器。我正在考慮將每個字符逐個打印到後緩衝區,或者逐字逐個打印到後臺緩衝區,然後使用BitBlt將更新的文本部分顯示在屏幕上?這會有好處嗎?對不起,如果這是愚蠢的,我會問這個問題,如果它不符合標準。在文本編輯器顯示鏈中使用雙緩衝有多大意義?
問候, Devjeet
好吧,所以這可能有點愚蠢,我不知道,但我想知道是否有任何意義雙緩衝文本編輯器。我正在考慮將每個字符逐個打印到後緩衝區,或者逐字逐個打印到後臺緩衝區,然後使用BitBlt將更新的文本部分顯示在屏幕上?這會有好處嗎?對不起,如果這是愚蠢的,我會問這個問題,如果它不符合標準。在文本編輯器顯示鏈中使用雙緩衝有多大意義?
問候, Devjeet
我不能想到任何現代OS /窗口系統,這種內存或幀緩衝區訪問將是實用的 - 或者會產生任何性能改進。就文字而言,高質量,真實類型的字體渲染早已得到解決。大多數窗口系統(X11/Quartz/Aero)實現字體緩存,並使用圖形硬件的合成功能。
更直接的答案是文本編輯器花費大部分時間等待用戶輸入。渲染不太可能是瓶頸。 FWIW,我很高興你在考慮這個級別的表現。
這真的取決於你的程序是怎樣的結構,但總的來講GUI爲中心的應用程序(如文本編輯器)會做很好的利用雙緩衝,以避免那些討厭的flickerings。 ..
儘可能晚地用屏幕調用BitBlt()(我稱之爲「live」)dc。