- Katılım
- 9 Haz 2025
- Konular
- 25
- Mesajlar
- 102
- Online süresi
- 14d 5h
- Reaksiyon Skoru
- 122
- Altın Konu
- 0
- TM Yaşı
- 12 Ay
- Başarım Puanı
- 62
- MmoLira
- 2,740
- DevLira
- 60
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Merhaba.
Önceden oyunda her karakterin motion (hareket animasyonu) ve effect (efekt dosyaları) Python tarafından tek tek RegisterMotionData, RegisterCacheMotionData, RegisterEffect, RegisterCacheEffect fonksiyonları ile yükleniyordu.
Bu sistemde aynı animasyon veya efekt birden fazla defa çağrıldığında, her seferinde tekrar dosya açılıyor, belleğe yükleniyor ve CResourceManager’a aktarılıyordu. Bu da:
Önceden oyunda her karakterin motion (hareket animasyonu) ve effect (efekt dosyaları) Python tarafından tek tek RegisterMotionData, RegisterCacheMotionData, RegisterEffect, RegisterCacheEffect fonksiyonları ile yükleniyordu.
Bu sistemde aynı animasyon veya efekt birden fazla defa çağrıldığında, her seferinde tekrar dosya açılıyor, belleğe yükleniyor ve CResourceManager’a aktarılıyordu. Bu da:
- Gereksiz disk I/O,
- Fazladan CPU kullanımı,
- Uzayan introLoading (oyuna giriş ekranı) süresi
gibi sorunlara yol açıyordu.
Yapılan Geliştirme:
- MotionKey ve EffectKey struct’ları tanımlandı.
- g_MotionCache ve g_EffectCache isimli unordered_set cache yapıları eklendi.
- Motion veya Effect yüklenmeden önce bu cache kontrol ediliyor:
- Eğer aynı dosya daha önce yüklendiyse → tekrar yüklenmiyor.
- İlk defa yükleniyorsa → cache’e ekleniyor ve CResourceManager tarafından normal şekilde işleniyor.
- Python tarafında da benzer cache kontrolü eklenerek tekrarlayan msa ve mse kayıtlarının önüne geçildi.

