Şu anda stüdyomuz için küçük bir platformlar arası OpenGL tabanlı 2D oyun motoru yazıyorum. Hangi 2D Vector sınıfını kullanacağımı araştırdığımda, üç farklı tasarım paradigmasına rastladım:
Bu Gamasutra makalesinde olduğu gibi kayan ve değere göre çağrı . Hızlı görünüyor, ancak çok az hassasiyet sunuyor (ayrıca bu Konuya bakın ). Pro: Hızlı, taşınabilir ve çoğu kütüphane ile uyumludur.
Çift ve referans çağrı. Yukarıdaki makaleyi doğru anlarsam, 4 kayan sayı yerine 2 çift kesinlikli değişken de kullanabilirim. Yukarıdaki ipliğe göre çift şamandıradan hala daha yavaştır.
Double ve float için şablon: Yaygın olarak popüler olan " Game Engine Architecture " kitabı, float ve double'ı gerektiği gibi kullanmayı mümkün kılmak için şablonlar kullanır. Açık olan dezavantajı kod şişmesidir. Ayrıca, kod temelde zaten iki sınıf yazmadan optimize edilebilir şüpheliyim.
Şirket içi motorlarınızda hangi çözümleri kullandığınızı ve örneğin popüler oyun motorlarının ne kadar hassas olduğunu öğrenmek için minnettar olurum, böylece motorumuzda hangi çözümü uygulayacağım konusunda karar verebilirim. Şu anda şamandıra hassasiyetini kullanmayı ve onunla yaşamayı düşünüyorum.