- Katılım
- 4 yıl 2 ay 21 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 ;
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
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