Cevap, biraz değişiyor.
Temel olarak iki düşünce okulu vardır; her şey için küçük, en uygun gölgelendiriciler ve uber gölgelendirici kampı.
Küçük gölgelendiriciler sadece; bir şey yap ve iyi yap. Über gölgelendiriciler, çalışma sırasında işlevlerini üniformalar aracılığıyla kontrol eder veya önişlemci makroları (ve / veya oluşturulan gölgelendirici kaynakları) aracılığıyla bir grup farklı gölgelendiriciye derler.
Optimal çözüm muhtemelen hiçbiri değildir, ancak bir çeşit melezdir. Belki de bazı durumlar için özel gölgelendiricilerle birleştirilmiş birkaç uber-gölgelendirici veya uber-gölgelendirici.
Küçük gölgelendirici
Artıları:
- Daha hızlı / daha uygun olması muhtemeldir
- Sadece yapmasını istediğin şeyi yapar
- Garip, özel işleri kolayca yapabilir
Eksileri:
- Özellikle özellik sayısı arttığında kolayca kontrolden çıkar
- Çok az sayıda gölgelendiriciniz yoksa, muhtemelen daha fazla iş
Uber tarayıcılı
Artıları:
- Her şey tek bir yerde
- Daha sanatçı dostu (ilk kez X özelliğine sahip A özelliğini kullanmak için mutlaka kodlayıcı zamanı gerekmez)
Eksileri:
- Daha uzun gölgelendirici derleme süreleri
- Daha az optimum sonuç (özellikle, özellikleri açmak / kapatmak için üniformalar kullanılıyorsa)
- Hata ayıklama / optimize etme daha zor olabilir