Bir oyun için, birincil hedefiniz, hedef minimum özellik makinesinde (ve muhtemelen maksimum yükleme süresi vs.) hedef kare hızına ulaşmaktır.
Bunu yapmak için, hayır, her satırdan sonra endişelenmenize gerek yok.
Belirli bir strateji, algoritma veya kapsayıcı seçtiğinizde erken endişelenmeniz gerekir. Yetersiz tasarım kararları vererek hedefi tam anlamıyla karşılamayı imkansız hale getirirseniz, daha sonra yapabileceğiniz herhangi bir optimizasyon boşuna olmaz.
Daha sonra, bir şey paralel veya paralelleştirilebilir olduğunda endişelenmeniz gerekir . Oyunlar büyük ölçüde paraleldir, başka bir nedenden ötürü, o zaman grafik çünkü.
Bu nedenle, paralel sadece "thread" anlamına gelmez, aynı zamanda örneğin grafik API, disk erişimi veya ağ. Bir şey olmasının fırsatı kaçırmak zaman olabilir nedeniyle kötü senkronize örneğin kolayca ve doğal olarak paralel parallelized çalıştırmak gibi, (ya ödenmesi gereken bir asenkron API kullanarak değil), diğer yollarla sizden daha hiç optimize fazla kaybederler.
Ayrıca bir şey ne zaman endişelenmelisinbir tıkanıklık veya bir durak kaynağı, ya da ölçeklendirmenin önlenmesi olarak bilinir. Örneğin, oluşturma durumlarını değiştirmek, çağrılar yapmak, GPU'dan geri okumak veya dosyaları açmak gibi.
Son, işiniz bittiğinde ve sen bunu gösterir test yok hedef kare hızını karşılamak, sen optimize gerekir. Zamanın% 90'ını alan en büyük darboğazı bulun ve bunu optimize edin. Bu yeterli değilse, en büyük saniyeyi bulun.
Hedefi gerçekleştirirseniz tebrikler. Devam et ve unut gitsin.