您的位置:首頁>正文

為什麼打開幾M的圖片檔要比txt文檔文件要大很多?

生活中我們都會有這樣的體驗, 直接打開單反裡好幾M的原張照片, 雖然速度也會慢一些, 但至少比打開一個好幾兆的文檔要快很多, 這是為什麼呢?小U來和大家講解一下。

一張照片(點陣圖)包含了多少有效的資訊?

當你讀一份500萬字的txt格式(1K=512字)小說, 你能讀到多少資訊?

從資訊熵上, 兩者就差了不止一個等級!

當然, 這麼說, 確實有點玄乎, 畢竟我們假定, 在電腦硬碟裡, 兩者所占的磁碟空間大小是一致的。

我們也可以從其他角度去解答。 Windows的記事本工具, 預設打開txt的方式, 是全部渲染, 一份包含數百萬文字的txt文檔, 滑鼠滾輪要滾好久才能拉到底。

呈現txt文檔至「邏輯上」的全螢幕(實際螢幕沒那麼長), 需要CPU來負責理論上每一行占螢幕的圖像渲染工作, CPU是一種通用計算核心, 沒有單獨的為圖形顯示做優化, 讓CPU做成千上萬行(1920x1080解析度, 系統顯示字體預設, 每行大概有100個字)字的圖形渲染工作,

每行倒是簡單, 但要在短時間內重複渲染出這麼多行, 也是辛苦CPU了。

這種任務, 交給擅長平行計算的GPU更合適

決定jpg圖像的關鍵資訊, 主要在SOF0標記段裡, 通常一個顏色分量(簡單的可以理解成一個色塊)為9位元組, 比txt的基本單位(1位元組)大了九倍。

所以從理論上來說, 完全打開相同大小的jpg和txt檔, 前者的理論速度要比後者要快

另一個值得注意的地方是, 前面提到過, Windows記事本預設是渲染所有txt文字的, 而一般的點陣圖檢視器, 打開一張圖片至適應當前螢幕的大小, 讓觀看者看得"差不多"就行了。

不停的放大某個點陣圖的位置, 你就會發現成規律的, 模糊的色素塊, 但這樣不適合人眼的全域預覽, 把每個局部都看清楚後, 我們的大腦也記不清這張圖片到底是個什麼鬼

其實, 聰明的你已經發現了, jpg之所以打開"更快", 是因為電腦"覺得(其實是開發點陣圖檢視器的人啦)", 不論多大的圖片, 盡可能的放在當前這個螢幕裡, 供人眼查看就夠了。 順便還可以犧牲掉諸多不必要的色塊與細節的處理。

為了節省容量, 大部分 jpg格式的圖片, 還會預設放棄掉許多高解析度資料塊做編碼, 放棄了許多"不討人眼睛好"的資訊, 在渲染的過程中, CPU也可以按需、按層級渲染, 節省了CPU的工作壓力。

所以聰明的你一定發現了,

用一款默認只渲染當前打開頁的txt文本閱讀器, 打開txt文檔的速度, 就一定快多了。

說了這麼多, 希望你好好思考下, 如果我們不用"討巧"的方式, 打開一張點陣圖呢?

用 PS等圖片處理軟體, 打開一張若干兆的點陣圖, 然後不停的放大某一局部, 看看電腦是不是變慢了(i7+固態硬碟+32GB記憶體的大佬請無視);

還有一個疑問:許多細碎的社區塊, 單一列隊渲染VS完整的區塊, 按需渲染

將一部 1個小時的視頻, 按每個幀, 截成108,000張單獨的圖片, 並且用 0.03s的間隔, 將這些圖片, 播放幻燈片, 看看相比直接播放視頻, 誰更流暢?

想清楚了這兩個問題, 你就知道開頭問題的解答了。

寫在最後:

最近想學習技術, 喜歡互聯網行銷的朋友有很多, 卻因為時間不夠, 資源不足而放棄。他們問我有沒有整理過的優質資料包,我找了幾個在互聯網領域有豐富經驗的老師搜集整理了一套有價值的學習資料,包括運營技巧、SEO優化等,比自己在網上零散收集的結構性和連貫性更強,只為幫助那些想學習的人!

資源不足而放棄。他們問我有沒有整理過的優質資料包,我找了幾個在互聯網領域有豐富經驗的老師搜集整理了一套有價值的學習資料,包括運營技巧、SEO優化等,比自己在網上零散收集的結構性和連貫性更強,只為幫助那些想學習的人!

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示