15 puan yazan xguru 2022-02-23 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Animasyonlu GIF hızını mümkün olan en yükseğe çıkarmak için Frame Delay değerini 10ms değil 20ms olarak ayarlamak gerekiyor. Neden?
  • GIF 89a ile birlikte animasyon desteği gelmeye başladı
    • Her kare için gecikme ayarlanabiliyor
    • Sonraki kareye geçmeden önce beklenecek süre saniyenin yüzde biri (10ms) biriminde ifade ediliyor
    • 0 ~ 0xffff (yaklaşık 10 dakikalık gecikme) aralığında ayarlanabiliyor
  • Peki 0 ayarlanırsa ne olur? Spesifikasyonda buna net bir cevap yok, ama iki şey belirtiliyor
    • GIF decode edilirken her kare gecikme olmadan işlenmeli
    • Gecikme değeri yalnızca 0 olmadığında kullanılmalı
    • Yani 0 olarak ayarlanırsa, "önceki kareyle birleştirilip statik görüntü olarak işlenmesi" gerekir
      • Böylece yalnızca hareket eden bölümleri kaydeden kareler eklenerek boyut küçültülebilir
  • Sorun şu ki kimse 0 gecikmeyi desteklemiyor
    → GIF destekleyen çoğu program 2(20ms) altındaki değerleri daha yüksek bir değere sabitliyor
    • QT, IE/FF ile uyumlu: (delay < 2 ? 10: delay) * 10
    • Chrome, FF ile uyumlu: yanıp sönen reklamların 0 kullanmasını engellemek için 10ms ve altı değerleri 100ms yapıyor
    • FF, IE ve Opera ile uyumlu: 0~10 aralığını 100ms olarak ayarlıyor
    • IE 5, Netscape yavaş olduğu için ona uyum sağlıyor: 50 ve altı durumlarda 100e sabitliyor
  • Bu kodların ortak noktası, 0~1 değerlerini 2ye değil 10(100ms) değerine çekmeleri
    • Yani 10, 100 ile aynı; en hızlı değer ise 20

Sonuç

  • Kimse GIF spesifikasyonuna göre render etmiyor, ama bence öyle yapılmalı
  • Şu anda en hızlı GIF'i elde etmek için 1(10ms) yerine 2(20ms) kullanın
  • Herkes GIF spesifikasyonunu doğru şekilde uygularsa
    • 10ms gecikmeli GIF'ler desteklenebilir
    • GIF animasyonunun tek bir karesinde 256dan fazla renk desteklenebilir
    • Küçük gecikme değeri verince daha yavaş olma karmaşası ortadan kalkar
    • Kare başına yalnızca güncellenen alanı içeren GIF'ler oluşturularak sıkıştırma oranı iyileştirilebilir

Henüz yorum yok.

Henüz yorum yok.