Yardım Zenaris directx9 sonrası oluşan bazı problemler

  • Konuyu açan Konuyu açan DeadLyEscaPe
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 19
  • Gösterim Gösterim 721
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

DeadLyEscaPe

Üye
Üye
Mesaj
452
Çözümler
28
Beğeni
108
Puan
474
Ticaret Puanı
0
Directx9 sonrası ilk model yüklemelerinde hafif bir lag oluşuyor. Örneğin videoda gösterdiğim gibi, ilk karakter oluşturma ekranı açıldığında karakterleri görüntülemek istediğimde 1-2 saniliyelik bir lag oluşuyor. Ardından modelleri yüklediğinde hızlı bir şekilde karakterler görüntülenebiliyor. Sonrasında oyuna ilk girişte sadece zırh çıkartmadan bir zırh giyildiğinde 1 2 saniyelik lag oluşuyor. Oyunu altta 5 10 dakika bırakınca tekrardan zırhı giyince bir lag oluşuyor. (Efekt birikmesi. Evet biliyorum altta biriken efektlerin fixi mevcuttu forumda onu da uyguladım.)

Not: Oyuna ilk girişte, zırhın envanterindeki yerini değiştirince ve üzerindeki zırhı çıkartıp tekrar giyince lag oluşmuyor. Videoda ne tesadüf foruma göstermek için çektiğim videoda ilk zırh giyişimde lagsız giydi. Normalde lag oluşuyor. Unutmadan, oyunu yükleme ekranında da yavaşlama mevcut. Bu normal sayılabilir mi bilmiyorum.

Modellemelerin ve efektlerin update, render fonksiyonlarını inceledim, karşılaştırdım fakat çözüme ulaşamadım. Zenaristen directx9 çekmiş ve bu problemle karşılaşmamış veya karşılaşmış çözümünü bulmuş arkadaşlar varsa yardımcı olurlarsa sevinirim, iyi forumlar.


Video:
 
benim filesimde böyle bir sorun yok. loading ekranında kasma var fakat o sıra shaderleri yüklediği için o kasma normal. onun dışında efekt birikmesi gibi sorunlar mevcut değil. çektiğin yerleri iyice kontrol et.
 
bazen gözden kaçan noktalar olabiliyor. tekrar kontrol etmekte fayda var. ben karşılaşmadığım için net olarak şuradan kaynaklanıyor diyemiyorum ne yazık ki.

Tahmini neyden kaynaklanıyor olabilir? Efektler mi modeller mi? Efektler mi tekrar yüklenirken lag oluşturuyor, modeller mi? Hangi update fonksiyonunu incelemek gerekir? Varsayımınız var mı?
 
Tahmini neyden kaynaklanıyor olabilir? Efektler mi modeller mi? Efektler mi tekrar yüklenirken lag oluşturuyor, modeller mi? Hangi update fonksiyonunu incelemek gerekir? Varsayımınız var mı?
etergrnlib kısmı incelenebilir model yüklemeleri oradandı sanırım. gamelibte de actorinstance kısımlarına bakabilirsin. ve genel olarakta pythonapplicationlu dosyalara bakabilirsin. buralar önemli olabilir.
 
Tahmini neyden kaynaklanıyor olabilir? Efektler mi modeller mi? Efektler mi tekrar yüklenirken lag oluşturuyor, modeller mi? Hangi update fonksiyonunu incelemek gerekir? Varsayımınız var mı?
WinMerge tarzı kıyas programlarıyla Client src tarafını bir kontrol edin derim, unutulmuş ufak bir yer bile sıkıntı yaşatabilir.
 
Bazı sıkıntılardan dolayı bir süre ara vermiştim. Kafamı dağıtmak için geri başladım. Umarım kafam daha da bozulmaz. Bu sorun için ücret ödemeye de hazırım. Ücretli veya ücretsiz yardım etmek isteyen olursa mesaj yoluyla ulaşırsa çok sevinirim.
 
Directx9 sonrası ilk model yüklemelerinde hafif bir lag oluşuyor. Örneğin videoda gösterdiğim gibi, ilk karakter oluşturma ekranı açıldığında karakterleri görüntülemek istediğimde 1-2 saniliyelik bir lag oluşuyor. Ardından modelleri yüklediğinde hızlı bir şekilde karakterler görüntülenebiliyor. Sonrasında oyuna ilk girişte sadece zırh çıkartmadan bir zırh giyildiğinde 1 2 saniyelik lag oluşuyor. Oyunu altta 5 10 dakika bırakınca tekrardan zırhı giyince bir lag oluşuyor. (Efekt birikmesi. Evet biliyorum altta biriken efektlerin fixi mevcuttu forumda onu da uyguladım.)

Not: Oyuna ilk girişte, zırhın envanterindeki yerini değiştirince ve üzerindeki zırhı çıkartıp tekrar giyince lag oluşmuyor. Videoda ne tesadüf foruma göstermek için çektiğim videoda ilk zırh giyişimde lagsız giydi. Normalde lag oluşuyor. Unutmadan, oyunu yükleme ekranında da yavaşlama mevcut. Bu normal sayılabilir mi bilmiyorum.

Modellemelerin ve efektlerin update, render fonksiyonlarını inceledim, karşılaştırdım fakat çözüme ulaşamadım. Zenaristen directx9 çekmiş ve bu problemle karşılaşmamış veya karşılaşmış çözümünü bulmuş arkadaşlar varsa yardımcı olurlarsa sevinirim, iyi forumlar.


Video:

Shaderi yüklediği için ışınlanmada yada login işlemlerine bekleme yaşarsın. psm kullanman veya kullanmaman shader yüklemesini hızlandırmayacak. Bu yüzden normal gözüyle bakmalısın.
Diğer sorunun için etergrnlib ve gamelib kısmını tekrardan kontrol et.
 
Bence bu sorunu çözmenin tek yolu; grafikle alakası olmayan kodların tamamını orjinal hale çevirmek.
Tabi bunun için orta derecede de olsa az çok kod okuyabilmek gerekiyor. Eğer sen full çektiysen(ki hatırladığım kadarıyla öyleydi) muhtemelen bazı kodların çalışma biçimi olumsuz yönde etkilendi.
 
Bence bu sorunu çözmenin tek yolu; grafikle alakası olmayan kodların tamamını orjinal hale çevirmek.
Tabi bunun için orta derecede de olsa az çok kod okuyabilmek gerekiyor. Eğer sen full çektiysen(ki hatırladığım kadarıyla öyleydi) muhtemelen bazı kodların çalışma biçimi olumsuz yönde etkilendi.

Bunun için çok uğraşmam gerekir. Üzerinde bayadır çalışıyorum epey değişiklik yaptım. Kod bilgim zayıf değil fakat çok iyi de değil. Sadece oyuna ilk girişte modellerin (binalar değil, karakter üzerindeki modellemeler) yüklenmesini istiyorum. VS19 Hata ayıklayıcıyı siz yapmıştınız bana. O doğru yoldan gitmeme yardımcı oldu ama yine de çözüme ulaşamıyorum.
 
Bunun için çok uğraşmam gerekir. Üzerinde bayadır çalışıyorum epey değişiklik yaptım. Kod bilgim zayıf değil fakat çok iyi de değil. Sadece oyuna ilk girişte modellerin (binalar değil, karakter üzerindeki modellemeler) yüklenmesini istiyorum. VS19 Hata ayıklayıcıyı siz yapmıştınız bana. O doğru yoldan gitmeme yardımcı oldu ama yine de çözüme ulaşamıyorum.
Evet ancak mantık çerçevesinde bir yol çizerek ilerlemek, rastgele bir yerlerle uğraşarak zaman kaybetmekten daha iyidir bence.
Bu sorunun EterLib / GameLib / EterPack kaynaklı olabileceğini düşünüyorum. Emin olmamakla birlikte; EterLib kaynaklı olma ihtimali daha yüksek geliyor bana. Açıkçası sebebi her yerde olabilecek bir sorun, bu yüzden ilgili alanlardan ilgisiz alanlara doğru kontrol sağlamak en doğrusu olacaktır.
Bir diğer ihtimal ihtimal ise UserInterface.

Renderla alakalı bir sorun gibi duruyor, dolayısıyla renderla bağlantılı olabilecek fonksiyonlara öncelik verebilirsin.
Ve çağrı yığınını kullanarak, kod zincirinin en sonuna kadar kontrol sağlayabilirsin.(yukarıda bahsettiğim kontrol etme işlemi için.)
 
Evet ancak mantık çerçevesinde bir yol çizerek ilerlemek, rastgele bir yerlerle uğraşarak zaman kaybetmekten daha iyidir bence.
Bu sorunun EterLib / GameLib / EterPack kaynaklı olabileceğini düşünüyorum. Emin olmamakla birlikte; EterLib kaynaklı olma ihtimali daha yüksek geliyor bana. Açıkçası sebebi her yerde olabilecek bir sorun, bu yüzden ilgili alanlardan ilgisiz alanlara doğru kontrol sağlamak en doğrusu olacaktır.
Bir diğer ihtimal ihtimal ise UserInterface.

Renderla alakalı bir sorun gibi duruyor, dolayısıyla renderla bağlantılı olabilecek fonksiyonlara öncelik verebilirsin.
Ve çağrı yığınını kullanarak, kod zincirinin en sonuna kadar kontrol sağlayabilirsin.(yukarıda bahsettiğim kontrol etme işlemi için.)

Ben de EterLib kaynaklı olduğunu düşünüyorum ama UserInterface bile olabilir dediğiniz gibi. Render kodlarını inceliyorum sürekli. İnşallah çözebilirim.
 
Ben de EterLib kaynaklı olduğunu düşünüyorum ama UserInterface bile olabilir dediğiniz gibi. Render kodlarını inceliyorum sürekli. İnşallah çözebilirim.
Şöyle bir yol izleyebilirsin;
PythonApplication.cpp içindeki ::RenderGame, ::UpdateGame ve :: Process fonksiyonlarını referans alarak kendi dosyalarını, zenaris dosyalarını ve en son orjinal dosyalarla üç farklı açıdan gözden geçirebilirsin.

Bu üç fonksiyon, genellikle tüm render(eterlib/gamelib) fonksiyonlarının çağrısını barındırır ve ayrıca burada bulunan render çağrılarının sıralaması da önemlidir.
Buradan yola çıkarak tek tek inceleme yapabilirsin. Her çağrının bağlantılı olduğu en son noktaya kadar kontrol edebilirsin.

Mesela: x fonksiyonu -> y fonksiyonuna gidiyor -> y fonksiyonu z fonksiyonuna gidiyor -> ...

Gibi x-y-z fonksiyonlarının tamamını gözden geçir. Bu yol seni eterlib ve gamelib içindeki ilgili yerlere yönlendirecektir.

Ve son olarak: bu söylediğim üç fonksiyonun kendilerini de baştan sona kontrol etmende fayda var.
 
Şöyle bir yol izleyebilirsin;
PythonApplication.cpp içindeki ::RenderGame, ::UpdateGame ve :: Process fonksiyonlarını referans alarak kendi dosyalarını, zenaris dosyalarını ve en son orjinal dosyalarla üç farklı açıdan gözden geçirebilirsin.

Bu üç fonksiyon, genellikle tüm render(eterlib/gamelib) fonksiyonlarının çağrısını barındırır ve ayrıca burada bulunan render çağrılarının sıralaması da önemlidir.
Buradan yola çıkarak tek tek inceleme yapabilirsin. Her çağrının bağlantılı olduğu en son noktaya kadar kontrol edebilirsin.

Mesela: x fonksiyonu -> y fonksiyonuna gidiyor -> y fonksiyonu z fonksiyonuna gidiyor -> ...

Gibi x-y-z fonksiyonlarının tamamını gözden geçir. Bu yol seni eterlib ve gamelib içindeki ilgili yerlere yönlendirecektir.

Ve son olarak: bu söylediğim üç fonksiyonun kendilerini de baştan sona kontrol etmende fayda var.


Sakin bir kafa yakalayabilirsem inşallah bu yoldan devam edeceğim teşekkür ederim :)
 
3 ay kadar ara vermiştim. Döndüğümde bu baş belası sorundan başlamak istedim. Fikir ve tavsiyelerinize açığım. Yorum yapan herkese teşekkürler.
 
3 ay kadar ara vermiştim. Döndüğümde bu baş belası sorundan başlamak istedim. Fikir ve tavsiyelerinize açığım. Yorum yapan herkese teşekkürler.


bi srcleri karşılaştır temiz altyapı
 


bi srcleri karşılaştır temiz altyapı


Evet, dün bu konuyu görmüştüm. Onun dosyalarıyla karşılaştırıyorum şuan. Teşekkür ederim.

Evet, dün bu konuyu görmüştüm. Onun dosyalarıyla karşılaştırıyorum şuan. Teşekkür ederim.


Ek olarak: DDCAPS2_CANRENDERWINDOWED ben bu kodu client build edemediğim için gerekli yerlerden kaldırmıştım. Bununla bir ilgisi olabilir mi? @hasanmacit

DDCAPS2_CANRENDERWINDOWED dahil ettiğimde aşağıdaki hatayı alıyorum.

Adsız.webp
 
Son düzenleme:
Geri
Üst