FPS_APPLICATON_DEVICE_LIMITATION || FPS FIX

s1nwar

Üye
Editör
Üye
Mesaj
52
Çözümler
2
Beğeni
367
Puan
374
Ticaret Puanı
0
Merhaba, evet m2 oyununu 60fps sınırını gerçek bir şekilde kaldırıyoruz. (daha önceki paylaşılanların fps ile nasıl bir ilişkisi var bilmiyorum ama saçma geldi, doğru kaynağı ile aşağıdaki şekilde bu sınırı değiştirebilirsiniz, Not: Bu oyunun motoru dx8 60fps için idealdir uçmanıza gerek yok 120 den fazlası bu oyuna fazla, gereksiz, yük oluşturursunuz tavsiyem max, 120 kullanın.)
Site anlatımını yapamadım linkten anlatıma bakabilirsiniz, yöneticiler dilerse düzenleyebilir.

by s1nwaR

Screenshot_45.webp

Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.
 
Konu için teşekkürler. Bu FPS konusunda genel bir eleştirim olacak (şahsi veya sadece bu konu için değildir.)
Bugüne kadar gördüğüm bütün FPS paylaşımlarında PythonApplication.cpp içindeki g_specularSpd verisi için 40 takla atılıyor, çeşitli sorunlar yaşanıyor ve bunun için de çeşitli çözümler üretiliyor ama kimse de çıkıp "aga bunun burda ne işi var?!" deyip doğrudan EterGrnLib içine gömmeye zahmet etmiyor.
g_specularSpd değişkeninin doğrudan veya dolaylı yoldan FPS'e bağımlı çalışması zaten başlı başına bir metin2 saçmalığı. Bunun yerine deltatime gibi bir zamana bağımlı hale getirmek daha makul olur. Rastgele bir update içine bile koyulsa çalışır. İster mevcut yapı korunsun ister tamamen değiştirilsin buna çeki düzen vermenin bin tane pratik yolu var. Ama nedense g_specularSpd kullanılmakta ısrarcı kalınıyor, eğer benim files müsait olsaydı bunun için bir yenileme paylaşımı yapardım ama maalesef bende mevcut değil bunlar, dolayısıyla yapamıyorum..

Dediğim gibi bu eleştiri geneledir, tekrardan paylaşım için teşekkürler.
 
Konu için teşekkürler. Bu FPS konusunda genel bir eleştirim olacak (şahsi veya sadece bu konu için değildir.)
Bugüne kadar gördüğüm bütün FPS paylaşımlarında PythonApplication.cpp içindeki g_specularSpd verisi için 40 takla atılıyor, çeşitli sorunlar yaşanıyor ve bunun için de çeşitli çözümler üretiliyor ama kimse de çıkıp "aga bunun burda ne işi var?!" deyip doğrudan EterGrnLib içine gömmeye zahmet etmiyor.
g_specularSpd değişkeninin doğrudan veya dolaylı yoldan FPS'e bağımlı çalışması zaten başlı başına bir metin2 saçmalığı. Bunun yerine deltatime gibi bir zamana bağımlı hale getirmek daha makul olur. Rastgele bir update içine bile koyulsa çalışır. İster mevcut yapı korunsun ister tamamen değiştirilsin buna çeki düzen vermenin bin tane pratik yolu var. Ama nedense g_specularSpd kullanılmakta ısrarcı kalınıyor, eğer benim files müsait olsaydı bunun için bir yenileme paylaşımı yapardım ama maalesef bende mevcut değil bunlar, dolayısıyla yapamıyorum..

Dediğim gibi bu eleştiri geneledir, tekrardan paylaşım için teşekkürler.
Rica ederim, specularSpd bir grafik türevidir, yenileme için fps çatısına dahil edilmesi doğrudur bence, çünkü eğer onu kontrol etmeden fps arttırırsan sonuçları efektlerin yenileme hızının bozulması olacaktır, 2003 lü yıllarda böyle bir oyun zamanın teknolojisine göre fena değil bence çokta baltalamamak lazım onları, onlar olmasaydı mt2 bizim için olmayacaktı :),specularSpd için matematiksel bir hesap yaptım varsayımlara göre, daha detaylı yapılabilir.
 
Rica ederim, specularSpd bir grafik türevidir, yenileme için fps çatısına dahil edilmesi doğrudur bence, çünkü eğer onu kontrol etmeden fps arttırırsan sonuçları efektlerin yenileme hızının bozulması olacaktır, 2003 lü yıllarda böyle bir oyun zamanın teknolojisine göre fena değil bence çokta baltalamamak lazım onları, onlar olmasaydı mt2 bizim için olmayacaktı :),specularSpd için matematiksel bir hesap yaptım varsayımlara göre, daha detaylı yapılabilir.
Demek istediğim de bu zaten. Daha pratik bir mantıkla ele alındığında deltatime veya basit bir cos-sin dalgasıyla aynı efekt mevcut yapıdan çok çok daha stabil hale getirilebilir ve pythonapplication'dan tamamen koparılabilir. Ve bu da FPS arttırma vb. işlemlerindeki iş yükünü azaltır doğal olarak.

Daha anlaşılır olması için basit bir örnekle; ağaçların-dalların-yaprakların rüzgarla sallanması da FPS ile bağlantılı bir grafik işlemidir. Ama ana render döngüsünde bununla ilgili bir değişken veya bir işlem vb. göremiyoruz; çünkü bu mevzuların hepsi SpeedTree'nin kendi bünyesinde işleniyor, fakat ne hikmetse basit bir specular olayını ana rendere yük etmeyi tercih etmişler. Elbette kullanım şekli tercihe bağlıdır ama bana her zaman saçma gelmiştir şahsen.
 
Acikcasi duzgun birseyler yapmak istiyorsaniz, daha iyi yonetim ve erisim sunan steptimer a gecebilirsiniz. Zira kabaca basla-bitir dongusu yerine, basla-state-state duzenle kontrol ve bitir hakki veriyor her frame icin. Her frame uzerinde kontrol saglamak animasyon konusunda daha duzgun sonuclar elde etmeye yarayacak. Ek olarak yillardir yuksek FPS ile kullaniyorum istemcimi(144/155 ve steptimer(unlimited monitor tazeleme hizina gore), herhangi bir gereksiz yuk bindirmez islem basina zorlayacak bir etkisi yok. DX8 ile compatible olan bircok oyun var 60 in uzerinde genelleme yapmak yanlis olur.
 
Acikcasi duzgun birseyler yapmak istiyorsaniz, daha iyi yonetim ve erisim sunan steptimer a gecebilirsiniz. Zira kabaca basla-bitir dongusu yerine, basla-state-state duzenle kontrol ve bitir hakki veriyor her frame icin. Her frame uzerinde kontrol saglamak animasyon konusunda daha duzgun sonuclar elde etmeye yarayacak. Ek olarak yillardir yuksek FPS ile kullaniyorum istemcimi(144/155 ve steptimer(unlimited monitor tazeleme hizina gore), herhangi bir gereksiz yuk bindirmez islem basina zorlayacak bir etkisi yok. DX8 ile compatible olan bircok oyun var 60 in uzerinde genelleme yapmak yanlis olur.
Diğer arkadaşlarda yararlanabilir. Bu bir prototiptir, ben bunu kullanacak olsam kullanıcının monitör hz sine sabitlerim, zaten o kadarını da bilenler yapsın, fakat o değeri gidip 520 yapıp 520 fps alıp monitör 240 ise 240 tan fazlası gereksiz yüktür tabikide, Düzgün bir öneriniz varsa paylaşmanızı rica ederim.
 
Diğer arkadaşlarda yararlanabilir. Bu bir prototiptir, ben bunu kullanacak olsam kullanıcının monitör hz sine sabitlerim, zaten o kadarını da bilenler yapsın, fakat o değeri gidip 520 yapıp 520 fps alıp monitör 240 ise 240 tan fazlası gereksiz yüktür tabikide, Düzgün bir öneriniz varsa paylaşmanızı rica ederim.
Paylasim icin eline saglik. Metin2 default istemci kaynak kodunda zaten vsync mevcut. Leak olarak paylastigim projelerimde bile 144 ve 155 mevcut yillar once kullandim ki Metin2012 gibi aktif bir projemizde de mevcut isteyen bakabilir. Mantikli olan zaten V-Sync. Soyledigim seyler paylasimla alakasi yok. Metin2 gibi custom base bir engine iceren yapida frame cizmek GPU nun basitce handlelayabilecegi birsey(agir grafik shader vs yaptirmiyorsan). Ek olarak steptimer library kullaniyorum ve oneriyorum ki anlatimla yapilabilecek sey degil bircok methodu mevcut. O yuzden boyle bir yorumda bulundum.
 
Paylasim icin eline saglik. Metin2 default istemci kaynak kodunda zaten vsync mevcut. Leak olarak paylastigim projelerimde bile 144 ve 155 mevcut yillar once kullandim ki Metin2012 gibi aktif bir projemizde de mevcut isteyen bakabilir. Mantikli olan zaten V-Sync. Soyledigim seyler paylasimla alakasi yok. Metin2 gibi custom base bir engine iceren yapida frame cizmek GPU nun basitce handlelayabilecegi birsey(agir grafik shader vs yaptirmiyorsan). Ek olarak steptimer library kullaniyorum ve oneriyorum ki anlatimla yapilabilecek sey degil bircok methodu mevcut. O yuzden boyle bir yorumda bulundum.
Rica ederim
 
Geri
Üst