Neler yeni

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Türkiye'nin İlk ve tek FiveM forum adresi

Forum adresimize hoş geldin FiveMTürk olarak amacımız siz değerli kullanıcılarımıza en aktif fikir ve paylaşım platformu sunmak bir yana en güvenilir şekilde alışveriş yapabileceğiniz bir platform sunmaktır.
DF DF
DF DF
DF DF

Rehber ClientSide ve ServerSide Optimizasyonu Nasıl Yapılır ? (FPS Artışı ve Hitch Warning i Önlemek...)

Yararlı Buldunuzmu ?


  • Kullanılan toplam oy
    40

tgemre

?????????
FT Kullanıcı
Katılım
3 yıl 5 ay 22 gün
Mesajlar
2,765
Discord
tgemre#6161
Merhaba, başlıkta gördüğünüz gibi "FPS Optimizasyonu ve Serverside optimizasyonu nasıl yapılır ? sorusunun cevabını detaylı bi şekilde anlatacağım...

Client

Çoğu native döngü ile çalışıyor desek yalan olmaz. Native nedir diyecek olursanız GTA nın oyun motorunu kullan GTA Single player veya GTA Online üzerinde kullanıldığını gördüğünüz eventler veya eventlerin oluşturulmasını sağlayan kodlardır. Buna örnek vermek gerekirse

DrawMarker (marker oluşturmak)
SetEntityCoords (oyuncuyu ışınlamak)
CreateBlipForCoords (blip oluşturmak)
vesayre vesayre çok fazla örnek var

Gördüğünüz Nativlerden DrawMarker i baz alarak optimize yapalım. DrawMarker döngü içerisinde kullanılan bir koddur. Döngünun kod bloğu ;


C:
CreateThread(function()
       while true do
             Citizen.Wait(10)
             --kod veya kod bloğu
end)

Citizen.Wait(milisaniye) nedir ? : Döngünün kaç milisaniyede bir tekrarlanacağıdır.

kod veya kod bloğu kısmında DrawMarker bulunuyor diyelim Citizen.Wait(milisaniye) değeri 10 diyelim

Yani marker 10 saniyede bir çiziliyor. Mesela onun MS değerini 10 değilde 50 yapalım. Marker yanıp sönecektir fakat resmon değerlerinde çok ciddi bir düşüş olacaktır. 100 yaparsak muhtemelen markerimiz yok olacaktır ve bunun FPS değerlerine etkisi daha büyük olacaktır

Temel mantığı anladığınızı düşünüyorum. Bunu sadece DrawMarker de değil döngü içerisinde bulunan *HASSAS OLMAYAN* bütün kod veya kod bloklarının ms değerine uygulayabilirsiniz.

ServerSide

Serverside optimizesi birazdaha uğraştırıcı ve yorucu olduğundan sizi basit ve etkili bir yöntem bırakacağım.

TriggerServerEvent... Yani client üzerinden serverside a triggerlenmiş&serverside üzerinde çalışan bir kod veya kod bloğu.

Bunların arasında client üzerinde anlattığım gibi döngü içerisine alınmış olabilir. Bu serveri olukça zorlar. ms değerini abartmadan arttırdığınızda farkı farkedersiniz illaki.

Söylediklerim basit ama etkili methodlar mutalaka işinize yarayacak. Konum ile ilgili aklınıza takılan soruları çekinmeden sorabilirsiniz
İyi günler iyi forumlar

ServerSide kısmı birazcık kötü anlatılmış farkındayım, sadece ServerSide için yakın zamanda yeni bir konu açacağım
 
DF
Başarılı rehber teşekkürler
 
DF
Güzel bir bilgi niteliği taşıyan paylaşım olmuş ellerine sağlık.
 
DF
Sleep mantığını kullansaydın çok daha başarılı olurdu. Eline sağlık
 
DF
Sleep mantığını kullansaydın çok daha başarılı olurdu. Eline sağlık
teşekkür ederim konumda en basit methodunu ve mantığını anlatıyorum bu konu ile ilgili 2. bir konu daha açacağım ve sleep dahil çoğu mehthoddan bahsedeceğim
 
DF
Merhaba, başlıkta gördüğünüz gibi "FPS Optimizasyonu ve Serverside optimizasyonu nasıl yapılır ? sorusunun cevabını detaylı bi şekilde anlatacağım...

Client

Çoğu native döngü ile çalışıyor desek yalan olmaz. Native nedir diyecek olursanız GTA nın oyun motorunu kullan GTA Single player veya GTA Online üzerinde kullanıldığını gördüğünüz eventler veya eventlerin oluşturulmasını sağlayan kodlardır. Buna örnek vermek gerekirse

DrawMarker (marker oluşturmak)
SetEntityCoords (oyuncuyu ışınlamak)
CreateBlipForCoords (blip oluşturmak)
vesayre vesayre çok fazla örnek var

Gördüğünüz Nativlerden DrawMarker i baz alarak optimize yapalım. DrawMarker döngü içerisinde kullanılan bir koddur. Döngünun kod bloğu ;


C:
CreateThread(function()
       while true do
             Citizen.Wait(10)
             --kod veya kod bloğu
end)

Citizen.Wait(milisaniye) nedir ? : Döngünün kaç milisaniyede bir tekrarlanacağıdır.

kod veya kod bloğu kısmında DrawMarker bulunuyor diyelim Citizen.Wait(milisaniye) değeri 10 diyelim

Yani marker 10 saniyede bir çiziliyor. Mesela onun MS değerini 10 değilde 50 yapalım. Marker yanıp sönecektir fakat resmon değerlerinde çok ciddi bir düşüş olacaktır. 100 yaparsak muhtemelen markerimiz yok olacaktır ve bunun FPS değerlerine etkisi daha büyük olacaktır

Temel mantığı anladığınızı düşünüyorum. Bunu sadece DrawMarker de değil döngü içerisinde bulunan *HASSAS OLMAYAN* bütün kod veya kod bloklarının ms değerine uygulayabilirsiniz.

ServerSide

Serverside optimizesi birazdaha uğraştırıcı ve yorucu olduğundan sizi basit ve etkili bir yöntem bırakacağım.

TriggerServerEvent... Yani client üzerinden serverside a triggerlenmiş&serverside üzerinde çalışan bir kod veya kod bloğu.

Bunların arasında client üzerinde anlattığım gibi döngü içerisine alınmış olabilir. Bu serveri olukça zorlar. ms değerini abartmadan arttırdığınızda farkı farkedersiniz illaki.

Söylediklerim basit ama etkili methodlar mutalaka işinize yarayacak. Konum ile ilgili aklınıza takılan soruları çekinmeden sorabilirsiniz
İyi günler iyi forumlar

ServerSide kısmı birazcık kötü anlatılmış farkındayım, sadece ServerSide için yakın zamanda yeni bir konu açacağım
Ben biraz anlamadım bence gelen konuyu video olarak anlatısan çok çok sevinirim
 
DF
Güzel bir bilgi niteliği içeriyor . Başarılı rehber teşekkürler.
 
DF
chat scriptini restartlasam bile konsolda hitch warning geliyor bir scripti restartladıktan sonra gelen hitch warning normal midir
 
DF

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap

Bu konuyu görüntüleyen kullanıcılar

Tema düzenleyici

Tema özelletirmeleri

Granit arka planlar

Lütfen Javascript'i etkinleştirin!Javascript'i etkinleştirin!