2009-10-25 54 views
0

我正在使用GD庫將文本添加到表單的PNG圖像,我正在使用它來創建pdf。我的測試表明,使用PNG,dosnt會給服務器帶來很大的壓力,但是我擔心可伸縮性。GD的最佳圖像類型?

所以我的問題是使用一種文件類型有更多的開銷,比任何其他?

回答

7

你有三種選擇:

  • GIF:最向後兼容的無損;
  • PNG:比GIF更好的壓縮比,某些瀏覽器的某些問題(如IE6上的透明度);和
  • JPG:有損格式,通常用於照片。

因此,您應該選擇適合您正在做的事情。我認爲在CPU差異成爲因素之前,你必須做很多事情(比如成千上萬)。其中,GIF可能是最少的,PNG最多(由於壓縮算法),中間是JPG。但我無法想象這種差異是巨大的。

+0

也在PNG中 - 有各種類型。 PNG-8,PNG-24,PNG-32。每個像素的位數都有變化。 JPEG也可以在'imagejpeg()'函數中設置壓縮級別 – mauris 2009-10-25 02:27:26

+0

應該注意,GIF和PNG(8位)都是調色板圖像格式;所以當你的圖像的顏色低於255時,它們只能是無損的。當你有更多的顏色時,你需要減少數量以適應格式。 – 2009-10-25 09:27:58

1

無論文件類型如何,決定開銷的因素很多。

該算法的實際實現將對性能產生重大影響。例如,即使位圖是一種簡單的格式,即使使用傅里葉變換,編寫得很差的程序也可能比經過優化的jpg庫性能更差。

另一個因素是磁盤io,它通常很貴。與將未壓縮的數據寫入磁盤相比,CPU壓縮通常花費的時間更少。

在這一點上最好的建議是運行負載測試與您的估計生產負載,看看事情的表現。

1

您可能想要嘗試進行負載測試以瞭解您的應變類型,但正如Cletus所述,保存圖像的時間相當不重要,但您可能需要避免使用JPEG,因爲它是有損的,讓它變快,你不會希望它有太多的壓縮。

如果你有超過256種顏色,那麼你將需要PNG,但是如果你使用的不是那麼那麼爲什麼不使用GIF並在更多的瀏覽器中獲得支持的優勢,如果這是一個問題。

0

PNG是最便攜的。

如果你安裝GD,你總是有支持PNG的庫。

對於gif,jpeg等不是這樣的......