因為現在幾乎所有的顯視器的顯示原理都是——發光。
CRT:電子束轟擊熒光材料,從而在螢幕上激發閃光,顯示字元/影像。
LCD:整塊背板發光(反射背光燈管發出的光),借助液晶材料的電致渾濁,遮蔽不需要的光,從而把字元/影像顯示出來。
LED:微型發光二極體發光,組成字元/影像。
作為對比:
黑/白板:利用不同物質(顏料)對環境光反射能力的不同,書寫/繪制字元/影像
紙張:同上
墨水屏:同上
兩者最根本的不同,在於CRT/LCD/LED本身都是光源,是一種發光體;而後者本身不發光,必須反射外部光源照射過來的可見光,才能在人的眼底形成影像。
自然界的發光體極少。日月,螢火蟲,火……
若不是現代的光汙染,沒有月亮的夜晚,伸手不見五指才是正常。
這個差別是極為關鍵的。
對反射體來說,它的亮度總是和環境相協調的——環境光有多亮,它就會有一個對應的亮度。
烈日下的紙張也會亮的刺眼;星光下的寶石黯淡無光……
我們的眼睛,早就習慣了這種場景。
換句話說,反射體會「自適應於環境光亮度」;我們的眼睛經過億萬年的演化,也早已適應了這種場景。
但是,電腦顯視器這種發光體完全改變了這一切。
它自身是發光的;因此烈日下,它的光芒顯得太過灰暗,你自然看不清它顯示了什麽;黑夜裏,它照樣可以有500流明甚至更高的光通量,使得一下子從黑暗中到它前面的你睜不開眼。
室內的光通量並非一成不變。早上,中午,晚上,照度各有不同;但顯視器的亮度,除非你隨時調節,否則總是一成不變的。
它的亮度和周圍環境的反差極易造成眼睛的不適應。因為我們必須不斷的在不同的光亮度之間切換:一看顯視器,500流明,瞳孔要縮小,要衰減神經訊號強度;眼睛余光一瞥手邊攤開的書本或者從身邊走過的同事,100流明,瞳孔要放大,要增強神經訊號強度……
哪怕只是看一小會兒,過亮/過暗的顯視器都會造成極大的眼部疲勞;何況程式設計師們要在電腦前一坐一天。
除非采光條件極差、所以一天到晚完全依靠燈光照明的辦公室,否則,這種顯視器亮度和環境光亮度的不匹配無法避免。
而且,為了有效顯示字元/影像,顯視器亮度必須要壓住環境光亮度,否則很容易看不清屏上字元、造成更大的視疲勞。
尤其對程式設計師來說,他們不光要看清每一個字元,不同字串究竟是什麽——是關鍵字、運算子、變量、類、物件還是函式;一段內容究竟是聲明還是呼叫還是註釋;變量/函式公開還是私有、是否const、是字串還是整型、浮點,等等等等——這無窮多的細節,遺漏一點都是災難。
而為了幫程式設計師快速區分這些不同內容,他們使用的編輯器(Emacs/vim/各種IDE)可以很智慧的自動分析程式碼、然後把不同程式碼「染」上不同顏色,從而使他們可以一目了然。
然而,人眼對黑白影像的分辨力遠高於彩色。這是因為,人眼中負責辨識顏色的視錐細胞數量少,而且靈敏度低也比不上負責辨識明暗的視桿細胞——因此古人說「夜不辨色」,關於陰曹地府的傳說也總是黑白的。晚上你也可以關上燈,拉上窗簾,看看彩色的雜誌封面是不是顏色暗淡了。
因此,想要讓程式設計師一眼看出「這玩意兒是個類名所以染成了藏青色」「那東西是編譯期常量所以用了天青色」「這東西是個函式所以用了淡綠色」……那麽,顯視器的亮度就必須足夠高。否則真的沒辦法一眼分辨出這麽幾十種不同的顏色。
換句話說,由於職業原因,程式設計師使用電腦時,往往習慣性的把螢幕調的過亮,否則容易看不清字元顏色。
同時,由於職業原因,程式設計師面對的螢幕,必然絕大多數地方空白、只有少量字元(程式碼)。
提高顯視器亮度,對大片白色背景來說,這就是一大片的高亮發光區——你敢調的稍暗,上面的字元就看不清了。
此外,由於顯視器會發光,過亮的大片白色區域還會造成很強的遮蔽效應,使得字元顏色更難分辨。
因此,如果使用白色等高亮背景,這種「眼前螢幕亮度和環境光亮度的不匹配」造成的影響就會被放到最大。這和反射體是完全不同的。
如果使用黑色背景呢,顯視器本身相當於一塊黑板,仍然有一定的反射環境光的能力(從而產生了一定的自動調節能力);同時高亮度的字元如同細小的、閃亮的寶石,非常容易辨識。盯著這種螢幕自然就不太容易引起視疲勞了。
當然,黑色螢幕雖然仍然能有一定的光反射能力,但反射效果並不好,容易讓人覺得顯視器那塊亮度(相對於環境亮度)過低,仍然不太協調。如果選擇灰色之類存在一定基礎亮度的暗色,那麽顯視器背景和環境光強之間的差距就可以進一步降低。這就是很多人說自己「更喜歡深色而不是黑色背景」的原因。