認知 · 環境、比較與視角

如果沒有比較,我可能永遠不知道自己做錯了

一個虛擬螢幕的解析度錯誤,讓我重新看見:環境會決定我們以為的正常,切換視角才能接近真實。

環境、比較與視角

林遠・筆記

我做過一個功能:建立虛擬螢幕,取得螢幕影像,以 H.264 編碼,再透過 TCP 或 UDP 傳送到另一端顯示。

這個功能其實完成很久了。它能夠運作,畫面能送到另一台電腦,使用者也能把視窗移到虛擬螢幕上。只是它的顯示效果一直不夠清晰。

我知道它有些模糊,卻也覺得好像還可以使用。

這是一種很危險的狀態。它沒有壞到讓人立刻停下來檢查,也沒有好到真正令人滿意。因為功能已經能跑,我便逐漸把這種不清晰當成技術上的限制,甚至當成遠端傳輸本來就可能出現的結果。

直到這兩天,我看見別人做的一套軟體。

它也能把一台電腦的虛擬螢幕送到另一端顯示,功能與我做的很接近,畫面卻非常清晰。

比較出現的那一刻,我原本的判斷突然失效了。

在沒有參照物以前,我覺得自己的版本只是「還不夠好」;看見另一個結果以後,我才發現兩者之間不是細微的品質差距。相較之下,我做的版本幾乎沒有辦法使用。

我開始重新檢查整條影像路徑。從虛擬螢幕產生畫面,到影像編碼、網路傳送,再到另一端的解碼與顯示,每一個環節都可能造成畫質下降。

最後,我找到的問題不在 H.264,也不在 TCP 或 UDP。

我把虛擬螢幕本身設得太小了。

問題從影像產生的第一刻就已經發生。後面的編碼與傳輸即使全部正確,也只能忠實地傳送一張細節不足的畫面。接收端再怎麼顯示,都不可能憑空補回來源裡不存在的資訊。

這個錯誤真正可怕的地方,不是它藏得多深,而是它可能永遠不會被我發現。

如果我沒有看到別人做出的效果,我很可能會繼續調整編碼、傳輸和顯示,甚至接受「這項技術大概只能做到這樣」。我會在錯誤的前提裡不斷優化,卻不知道真正的問題位於整條路徑的起點。

我們很容易適應自己長期看到的結果。

當一個畫面每天都有一點模糊,眼睛會慢慢把它當成正常;當身邊沒有更好的參照,我們也會把目前能做到的程度,誤認為事情本來的上限。

環境不只是影響一個人的心情與選擇,也會提供衡量世界的尺度。身邊的人做到哪裡、我們看過哪些作品、接觸過什麼標準,都會決定我們如何理解「可以用」、「做得好」與「已經完成」。

所以比較不一定只是競爭,也不一定是在否定自己。

有時候,比較是一種校準。

別人的成果讓我知道,原來這個問題可以被解到另一個程度。那個差距沒有直接告訴我錯在哪裡,卻迫使我離開原本的假設,重新檢查自己以為已經正確的部分。

這件事也不只發生在軟體開發。

一個人長期留在同一個環境裡,很容易把環境提供的版本當成全部現實。我們可能把習慣當成真理,把周圍的平均當成自己的極限,也可能因為從未看過不同的相處方式,而不知道原來生活還能有別的樣子。

切換視角,不是為了追著別人跑,而是為了看見自己原本站立的位置。

有些問題,從系統內部怎麼看都像正常。只有暫時走到外面,看見另一個結果,再回頭檢查,才會發現那個一直存在、卻從未被辨認出來的錯誤。

真實不一定會主動出現在我們面前。

有時候,我們必須先看見另一個世界,才知道自己原本看到的,並不是事情唯一的樣子。