HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
Metin2 client memory leak (ram kullanımı) & cpu kullanımı problemleri nasıl çözülür
Client Kaynak Kodlarından
[Birinci Çözüm]
Dosya GameLib\MapOutdoorUpdate.cpp :
arat
sil veya yorum satırı yap
[İkinci Çözüm]
Dosya UserInterface\PythonCharacterManager.cpp :
arat
sil veya yorum satırı yap
Client Kaynak Kodlarından
[Birinci Çözüm]
Dosya GameLib\MapOutdoorUpdate.cpp :
arat
Kod:
__CollectCollisionShadowReceiver(v3Player, v3Light);
sil veya yorum satırı yap
Kod:
//__CollectCollisionShadowReceiver(v3Player, v3Light);
[İkinci Çözüm]
Dosya UserInterface\PythonCharacterManager.cpp :
arat
Kod:
if (pkInstEach->IsForceVisible())
{
dwForceVisibleInstCount++;
continue;
}
sil veya yorum satırı yap
Kod:
/*if (pkInstEach->IsForceVisible())
{
dwForceVisibleInstCount++;
continue;
}*/
Son düzenleme:
En Çok Reaksiyon Alan Mesajlar
Dostum benim hiçbir küçük düşürme gibi bir niyetim yok senin mantığına göre o vec zaten temizleniyor. O zaman __CollectCollisionPCBlocker bunun da silinmesi gerekiyor saçma oluyor yani
küçük düşürmekten ziyade 3 gram bilgi sahibi olmadan tartışmaya çalışarak kendin küçük düşüyorsun. memory leak demek sadece açılan dinamik hafızanın silinmemesi değil, artık verilerinde hafızada bir şekilde unutulması leak'e yol açıyor. konuda verilen ilk düzenlemenin asıl sebebi ve çözümü zaten senelerdir elimde mevcut basitçe özet geçiyim belki daha açıklayıcı olur. metin2 de loading de yapılan her düzenleme ve önlem tamamen ilk loading'e dayalı olarak yapıldığından geliştiriciler map değişimlerinde yapılan loadinglerde gerekli şeyleri silmeyi düşünememiş malesef bundan dolayıda aktif kullanılmayan bazı veriler map değişiminde kalıntı olarak leak yaratıyor. şöyle ki atmış olduğun resimdeki kod map outdoor da ki update fonksiyonunda çalışıyor burda mantık yeni veriler ile güncellemeden önce eskisini kaldırmak yani map değişimlerine herhangi bir etkisi yok kısaca konudaki düzenlemenin amacı map değişimlerindeki bahsi geçen silinmeyen alanların kullanılmasını engellemek.
Oyunu yazan şirket neden oyunda fix gerektiren şeyler bıraktı acaba ?Teşekkürler acaba bir probleme yol açar mı ve oyunu yazan şirket bunları neden ekledi acaba sorun yaratıyorsa
Teşekkürler @lalaker1 bu aralar bu tür fixlerle uğraştığınızın farkındayım acaba bu sorunu da fixleyebilir misiniz ?
MDE uzantılı bir efekt kullanırken oyun penceresini aşağı alıyorsunuz 3-4 dk bekleyip tekrar yukarı aldığınızda mde efekti çok hızlı bir şekilde oynamaya başlıyor sanki oyunu aşağıya alınca o efekt duruyor yukarı alınca 3-4 dakika boyunca durmanın acısını çıkartır gibi hızlıca oynamaya başlıyor ve o 3-4 dk boyunca hareket edebileceği kadar sayıya gelince tekrar eski hızına geri dönüyor bunu çözebilen olmadı sanırım henüz çözebilirseniz çok minnettar kalacağım teşekkürler
Teşekkürler Lala. Bu düzenlemeleri neden yaptığını kısaca açıklayabilir misin. 2.düzenlemedeki continue den dolayı obje silinmiyor gibi kısa kısa açıklama yeterli olacaktır
Üşeniyorum herkes kendisi anlasın xD
Bende zaten şu şekilde yaptım. İkinci çözümü önceden bulmuştum zaten. Birinci çözümü ise oyunda memory'de alan oluşturan fonksiyonu bulup onu geriye doğru izledim ve sürekli ram kullanımı artmasına neden olan şeye ulaşmış oldum. Sonra source üzerinden baktım tam olarak ne diye, o da gerekli bir şey gibi gözükmedi, devredışı bırakıp denedim ve sorun kalmamıştı.
En basitinden balık efekti olsun animasyonlu silah efektleri olsun tr'nin +15 silahlarının etrafında gidip gelen efekt olsun bunlar hep aynı şeye maruz kalıyor
Bir ara boş iken canım da isteyince bakarım, bilgi için teşekkürler.
Dostum benim hiçbir küçük düşürme gibi bir niyetim yok senin mantığına göre o vec zaten temizleniyor. O zaman __CollectCollisionPCBlocker bunun da silinmesi gerekiyor saçma oluyor yani
Dediğim gibi ben asm üzerinden oluşturulan ve silinmeyen fonksiyonu buldum, source ile detaylı incelemedim. Fonksiyon içinde çağırılan başka fonksiyonlarda var, onların içinde de olabilir.
Bu ise ilk fark ettiğim zaman yaptığım test. Hiçbir şey yapılmamasına rağmen ram kullanımı artıyordu ve çözümü uygulayınca bu durdu.
Öğeyi görmek için üye olmalısınız.
teşekkürlerMetin2 client memory leak (ram kullanımı) & cpu kullanımı problemleri nasıl çözülür
Client Kaynak Kodlarından
[Birinci Çözüm]
Dosya GameLib\MapOutdoorUpdate.cpp :
arat
Kod:__CollectCollisionShadowReceiver(v3Player, v3Light);
sil veya yorum satırı yap
Kod://__CollectCollisionShadowReceiver(v3Player, v3Light);
![]()
[İkinci Çözüm]
Dosya UserInterface\PythonCharacterManager.cpp :
arat
Kod:if (pkInstEach->IsForceVisible()) { dwForceVisibleInstCount++; continue; }
sil veya yorum satırı yap
Kod:/*if (pkInstEach->IsForceVisible()) { dwForceVisibleInstCount++; continue; }*/
![]()
Hmm tam olarak hangi işlevde kullanılan şeyleri sildinMetin2 client memory leak (ram kullanımı) & cpu kullanımı problemleri nasıl çözülür
Client Kaynak Kodlarından
[Birinci Çözüm]
Dosya GameLib\MapOutdoorUpdate.cpp :
arat
Kod:__CollectCollisionShadowReceiver(v3Player, v3Light);
sil veya yorum satırı yap
Kod://__CollectCollisionShadowReceiver(v3Player, v3Light);
![]()
[İkinci Çözüm]
Dosya UserInterface\PythonCharacterManager.cpp :
arat
Kod:if (pkInstEach->IsForceVisible()) { dwForceVisibleInstCount++; continue; }
sil veya yorum satırı yap
Kod:/*if (pkInstEach->IsForceVisible()) { dwForceVisibleInstCount++; continue; }*/
![]()
- Durum
- Üzgünüz bu konu cevaplar için kapatılmıştır...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 9
- Görüntüleme
- 1K
- Cevaplar
- 9
- Görüntüleme
- 479
- Cevaplar
- 14
- Görüntüleme
- 964
- Cevaplar
- 53
- Görüntüleme
- 13K
- Cevaplar
- 28
- Görüntüleme
- 6K

