GD kütüphanesi çok fazla bellek kullanıyor mu?

5 Cevap php

Ben harici sunucu rasgele büyük resmin küçük bir resmini oluşturmak için benim PHP komut GD kütüphanesini kullanmak istiyorum. Her zaman sayfa GD kütüphanesi bir resmini yeniden ve bunu gösterecektir, denir.

Bu sunucuyu yavaşlatabilir veya bellek alışılmadık miktarda kullanacak mı?

5 Cevap

GD bellek çok kullanın. Bu tamamen belleğe görüntü yükler ve onu genişletir, böylece piksel başına en az 32 bit gerekir. Boyutu 800 x 600 olan bir görüntü daha sonra yukarı kullanırım:

800 * 600 * 32 bit = 15.4 megabit = 2 MB

Bu resim yüklemek için sadece. Ben yeniden boyutlandırma yoksa bu bir double kullanmak olacağını duydum ve görüntüleri daha büyük ise daha da bellek olacaktır.

Onlar sadece bir kez elde edilecek, böylece gerçekten (bu da sizin ziyaretçiler için sayfa hızlandıracaktır!) Sizin minik önbelleğe alma düşünmelisiniz.

Ben de aksi ziyaretçilerin SİZ ilk tüm görüntü indirmek için beklemek zorunda çünkü gerçekten görüntüyü önbelleğe gerekir bu durumda, harici bir sunucudan görüntüleri yükleme olduğunu şimdi okudum. Harici sunucu aşağı ya da aşırı ve ziyaretçilerin (bu yavaş servis gibi bu görüneceğini) bir zaman aşımı için beklemek zorunda kalacak, bu da kötü olur. Eğer görüntüyü bir kullanıcı bunun bir resmini istekleri her zaman indirmek, bu ek olarak çok fazla bant genişliği atık olacaktır.


GD çok bellek kullandığı için, bunun yerine Imagick uzantısı kullanarak küçük oluşturmak için yararlı olabilir. ImageMagick bellek tüketimi konusunda çok daha iyi ölçek yapar ve aynı zamanda çok hızlı (ama yine de yukarıda belirtilen nedenlerden dolayı, görüntüleri önbelleğe).

emin o da kullandığınız görüntünün boyutuna bağlıdır sunucuyu yavaşlatacaktır. neden sadece küçük resim görüntü kaydetmek değil mi?

Onunla ne yapıyorsun bağlıdır, ama neden kendiniz deneyin:

Eğer yeni bir thumbnail her sayfa yük oluşturmak varsa, bu ekstra işlem zaman alacaktır. Eğer thumbnailing görüntülerle yanı sıra orijinal boyutları miktarına bağlı olarak, ya da yavaşlık fark olmayabilir. Zaten size ilk sayfa yük üzerlerine oluşturmak ve kaydetmek, ve diğer sayfa yükler için önceden oluşturulmuş sürümü yükleyebilirsiniz varsa, size daha iyi olacaktır.

Görüntü işleme her tür bellek yoğun olması muhtemeldir.

Sayfanın her bir vuruşla onları yeniden şekilde değil bu görüntüleri önbelleğe varsa, bu büyük bir hareket olurdu.

Sizin için bu önbelleğe bir sürü fırsatlar bir PHP kütüphanesi phpThumb - bu muhtemelen bu gibi görevler için idealdir.

http://phpthumb.sourceforge.net/