Rockstar Games, gezegendeki en büyük oyun geliştiricilerinden biridir. Aynı zamanda şirket, en popüler ve kârlı oyunlardan bazılarına sahiptir. Çok popüler ve kârlı oyunlarından biri GTA Online’dır. Ayrıca oyun yedi yıldır mevcut olmasına rağmen hâlâ çılgın bir oyuncu kitlesine sahiptir. Birçok oyuncunun şikayet ettiği şeylerden biri de GTA Online oyununun çok yavaş yüklenmesidir.
Son zamanlarda, bir yazılımcı yükleme sürelerini yüzde 70 oranında azaltmak için bazı yaratıcı programlama tekniklerini kullanıyor. T0st isimli yazılımcı, orta sınıf bir oyun bilgisayarında GTA Online’ı altı dakikalık bir yük altında bıraktı. Daha sonrasında ise ilginç bir şey keşfettiği Görev Yöneticisi’ni açtı. Bununla birlikte bir dakikalık beklemenin ardından yazılımcı, bilgisayarının CPU kullanımının önemli ölçüde arttığını belirtti. Ancak depolama ve ağ kullanımının neredeyse yok olduğunu söyledi.
T0st, uzun yükleme sürelerinin Rockstar sunucularından veya bir sürücüden okunan verilerden kaynaklanmadığını fark etti. Bununla birlikte doğrudan işlemci üzerinde, yalnızca tek bir iş parçacığı kullanırken tamamlamak için çok fazla işlem gücüne ihtiyaç duyan bir şey çalışıyordu. Daha sonra iki önemli sorunun ortaya çıkarılmasına yol açan bir dizi programlama ve hata ayıklama aracına yöneldi.
GTA Online Yükleme Süresindeki Soruna Önemli Bir Çözüm Bulundu
İlk önemli sorun, oyunun oyundaki tüm satın alınabilir öğeleri denetlemesidir. Bu doğrultuda GTA Online, toplamda 63.000 öğenin bir metin dosyasını okumaktadır. 63.000 öğenin her biri için 10 megabaytlık metin dosyasındaki her karakteri sayıyordu. Bu da çok fazla boşa harcanan işlemci zamanı anlamına geliyordu.
Ayrıca diğer sorun ise verilerin okunması için hazırlanırken oyunun hem adı, fiyatı, kategorisi ve istatistikleri gibi o öğeyle ilişkili verileri hem de benzersiz şekilde tanımlayan o öğenin karmasını kaydetmesiydi. Bununla birlikte bu süreç 63.000 kez gerçekleşti.
Buna ek olarak oyuna her daha fazla öğe yüklendiğinde yükleme süresi artar. T0st, oyunun yaklaşık 2 milyar kontrol oluşturduğunu ve muazzam miktarda işlemci zamanı tükettiğini tahmin ediyordu. Sorunları hafifletmek için öğe okuma sorununu çözen oyunun bazı işlevlerinin üzerine yazan bir kod yazdı.
Oyunda kod tarafından uzunluk istendiğinde hesaplamayı tekrar yapmadan aynı değeri döndürebilen bir öğe listesinin uzunluğunu hesaplamak için temel bir önbellek oluşturdu. Bu numara, kontrolün yapılması gereken sayısını 63.000’den bire düşürdü. Aynı zamanda bu özel kod, yapılması gerekmeyen 2 milyar kontrolü keserek yinelenen öğelerin kontrolünü atlar. Böylece yükleme süresini yaklaşık altı dakikadan iki dakikanın altında bir süreye indirmeyi başardı.
“Bir Yazılımcı GTA Online Yükleme Süresini Yüzde 70 Azalttı” başlıklı haber ile ilgili düşüncelerinizi aşağıda bulunan yorum bölümünden bizimle paylaşabilirsiniz.