解決 Open Live Writer 在高解析度螢幕的版面顯示問題


十月底的時候,Heresy 習慣用來寫部落格的 Windows Live Writer 就已經無法再登入 WordPress 了;而為了希望習慣不要大幅度地修改,所以後來也就開始認真研究把寫作的環境,轉移到 Open Live Writer(以下簡稱 OLW)了。

雖然 OLW 的開發看來也早就陷入停滯狀態,但是由於現行的 0.6.2 也已經有 plug-in 的功能了,所以基本上應該也已經有 Windows Live Writer 的絕大部分功能了。

實際上,這一個多月下來,改用 OLW 來撰寫,基本上也沒什麼問題了。

而這篇,則是簡單紀錄一下,剛轉換到 OLW 的時候,遇到的版面顯示問題、以及解決方案。

WLW 和 OLW 基本上都是所見及所得(WYSIWYG)的編輯器,他們也會試著去偵測部落格的版面設定,讓編輯時的預覽效果盡量接近最終的效果;不過由於各式各樣的因素,通常還是會有一些偏差就是,但是大多應該都會在可容許範圍內。

但是在剛切換到 OLW 的時候,卻發現在某些電腦上,會明顯地出現版面寬度嚴重過小的問題;這點其實會讓 Heresy 在撰寫的時候產生嚴重的問題。

以之前的《Visual Studio 2022 Lambda + OpenMP 的問題》這篇文章來說,在網站上的顯示基本上如下:

但是在 Heresy 工作用的電腦上,OLW 顯示的編輯畫面卻是下面的樣子:

可以看到,版面寬度大幅地縮水,一行能顯示的文字量少了非常地多。

雖然說寫網頁確實應該要以任何寬度都能正確顯示的條件下來寫,但是由於 Heresy 主要還是以電腦為主、而且有的時候會貼大量的圖片,所以這樣非預期的版面,其實看起來還是頗討厭的…

而後來研究了一下,發現這個問題基本上應該只會出現在 High DPI Scaling 設定成非 100% 的電腦上。

Heresy 工作用的電腦是 32″ 的 4K 顯示器,他在 Windows 10 的系統中,預設的縮放是 150%;而似乎也就是這個設定,造成上面的版面顯示問題。

實際上,High DPI Scaling 的長久以來都是 Windows 的大問題(參考《在 Windows 8.1 上使用高解析度螢幕》)…儘管 Windows 10 已經有了相當地改善(參考),但是很多時候還是會像這樣,碰到奇怪的問題。

WLW 沒有用這個問題,其實是因為他用的是相對穩定、但是顯示效果較差的處理方式;而OLW 因為想要更好地解決 High DPI 的問題,所以其實有試著引進新的處理方式(參考),但是卻也造成了這個新的問題。

所以,解決的方法呢?目前比較方便的方法,就是強制去覆寫 OLW 的縮放控制了!

操作的方法,是先找到 OLW 的執行檔,選取後點選滑鼠右鍵、在右鍵選單中點選「內容」;然後再切換到「相容性」的分頁,下方就理論上應該就可以看到「變更高 DPI 設定」的按鈕了。

  

按下去後,他會跳出一個新的視窗,底下會有「高 DPI 縮放比例覆寫」的選項,這邊要把「覆寫高 DPI 縮放比例行為」打勾,然後在下方的選項中,選取「系統(增強)」。

完成之後,就一路按「確定」把視窗關掉,就可以了。

之後,再重新開啟 OLW 應該就會有較為正確的版面預覽了!

不過相對地,這時候應該會發現此時的圖形介面的文字變的略為模糊;這就是因為舊式的縮放處理所造成的問題。

下面就是兩者的介面比較:

左邊是 OLW 原來用新版的所放控制的效果,理論上文字的像素是和螢幕的像素能一一對應的,所以會比較銳利;而右邊則是改成「系統(增強)」的畫面,在 OLW 的圖示、還有「檔案」的部分,應該會可以感覺到有點模糊的感覺。

理論上 OLW 改用新版的方法確實是比較好的,但是現在由於他們沒能把編輯區也處理好,所以也只能先強制改成用較舊、較安定的方法來做了。


要找到 OLW 的執行檔,如果是使用 Microsoft Store 版的話,由於微軟試圖把應用程式完全獨立,所以可能會很難找到(參考)。

Heresy 個人覺得最簡單的方法,是先把 Open Live Writer 執行起來,然後在「工作管理員」裡面找到他,選取後點選滑鼠右鍵,然後選擇「開啟檔案位置」。
(可能會需要先按左邊的向右三角形、展開子程序,然後在子程序按右鍵)

這樣他就會開啟一個新的檔案總管、自動開啟這個資料夾、並把「OpenLiveWriter.exe」選起來;這應該是可以最快找到「OpenLiveWriter.exe」的方法了~


目前 Windows 10 的「覆寫高 DPI 縮放比例行為」有三個選項,分別是「應用程式」、「系統」、「系統(增強)」;根據官方說法(官方文件),他們的差異如下:

  • 應用程式 – 停用所有 Windows 縮放比例設定,並只使用應用程式開發人員的設定。 此選項在舊版 Windows 稱為 [在高 DPI 設定時,停用顯示調整值]。

  • 系統:覆寫程式的 DPI 設定,並讓程式執行起來就像在低 DPI 顯示器上執行一樣。 在高 DPI 顯示器上,這會讓程式變得模糊。

  • 系統 (增強):Windows 會嘗試對此程式使用增強型 DPI 縮放比例。 因此,有些程式將會在高 DPI 顯示器上顯示清晰的文字。 並非所有程式都適用此設定。

對「解決 Open Live Writer 在高解析度螢幕的版面顯示問題」的想法

  1. High DPI Scaling不論在Windows上還是Linux上都是一團糟。Windows至少還提供了125%和150%這種非整數倍的縮放支持,Linux上就只有100%和200%,只適用於小余17寸屏的4K分辨率。
    然後很多網絡服務甚至對1080p的支持都是一團糟,包括wordpress在內,很多都只能支持到720p,在1080p上的編輯區就只有屏幕寬度的四分之一。
    我懷疑這是底層渲染邏輯的硬傷,沒辦法以倍率矢量放大顯示單元,用圖像縮放邏輯進行渲染的話就會糊得一團糟。
    感覺這些問題至少5-10年內是解決不了。

    • 我還以為 Linux 這方面沒什麼問題?就個人認知,Linux 不是一堆桌面環境可以選,總不會每個都這樣吧? o_O
      看來只有 Apple 處理得比較好?

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.