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.
Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
Öncelikle fps optimizasyonu için gerekli kod bilgisine sahib olman gerekiyo ms değerlerini yükselten temel sebep while döngüleridir örneğin:
Kod:
Citizen.CreateThread(function()
while(true) do
if IsPedDeadOrDying(PlayerPedId()) then
ShowHudComponentThisFrame(9) -- street name
end
if IsPedInAnyVehicle(PlayerPedId(), true) then
ShowHudComponentThisFrame(6) --vehicle name
end
Citizen.Wait(1)
end
end)
Yukardaki kod satırındaki döngüde saniyede 1000 kere kontrol edip eğer oyuncu ölüyse ekrana sokak adresini bir aracın içinde isede araç adını gösteriyor. bu kontrolü saniyede 1000 kere kişi araçtamı veya ölümü diye kontrol etttiği için sistemi yoruyor. bunun yerine:
Kod:
local isDead = false
local inVehicle = false
Citizen.CreateThread(function()
while(true) do
isDead = IsPedDeadOrDying(PlayerPedId())
inVehicle = IsPedInAnyVehicle(PlayerPedId(), true)
Citizen.Wait(1000)
end
end)
Citizen.CreateThread(function()
while(true) do
if isDead then
ShowHudComponentThisFrame(9) -- street name
end
if inVehicle then
ShowHudComponentThisFrame(6) --vehicle name
end
Citizen.Wait(0)
end
end)
Yukardaki kod satırında iste ayrı bir döngüde saniyede bir kere kişi ölümü veya arabadamı olduğunu kontrol ediyor ve ona göre ekranda gösteriyor bu kodlamanın dez avanatjı ise arabaya bindi bilgisi 1 sn geç geldiği için kişi arabaya bindikten 1 sn sonra model ismini gösterecek
sonuç olarak fps optimizasyonu yapabilmek için scriptin her kod satırında ne işlemler yapıldığını anlayıp kendinize göre düzenlemeniz gerekmekte
Çok fazla kod bilgim yok ancak şimdiye kadar en çok karşılaştığım markerlar drawtextler ve e basın gibi etkileşim yerler sistemi yorar çünkü marker ve drawtextler döngü içerisinde örn saniyede 1000 kez gönderilir bunu düşürmeye çalışıtığınızda görüntü gidip gelmeye başları mantığı biraz değişik çalışıyor burada daha detaylı nasıl anlatabilirm bilmiyorum e basma gibi etkleşim yerleride aynı matıkta kişi o kordinattamı ve e bastımı diye kontrol eder her 1ms yaptığı için yorar bunları daha az yoracak hale getirmek mümkün dedğim gibi öğrenip kod bilginizi geliştirmelisiniz.
ingilizce biliyorsanız
Öncelikle fps optimizasyonu için gerekli kod bilgisine sahib olman gerekiyo ms değerlerini yükselten temel sebep while döngüleridir örneğin:
Kod:
Citizen.CreateThread(function()
while(true) do
if IsPedDeadOrDying(PlayerPedId()) then
ShowHudComponentThisFrame(9) -- street name
end
if IsPedInAnyVehicle(PlayerPedId(), true) then
ShowHudComponentThisFrame(6) --vehicle name
end
Citizen.Wait(1)
end
end)
Yukardaki kod satırındaki döngüde saniyede 1000 kere kontrol edip eğer oyuncu ölüyse ekrana sokak adresini bir aracın içinde isede araç adını gösteriyor. bu kontrolü saniyede 1000 kere kişi araçtamı veya ölümü diye kontrol etttiği için sistemi yoruyor. bunun yerine:
Kod:
local isDead = false
local inVehicle = false
Citizen.CreateThread(function()
while(true) do
isDead = IsPedDeadOrDying(PlayerPedId())
inVehicle = IsPedInAnyVehicle(PlayerPedId(), true)
Citizen.Wait(1000)
end
end)
Citizen.CreateThread(function()
while(true) do
if isDead then
ShowHudComponentThisFrame(9) -- street name
end
if inVehicle then
ShowHudComponentThisFrame(6) --vehicle name
end
Citizen.Wait(0)
end
end)
Yukardaki kod satırında iste ayrı bir döngüde saniyede bir kere kişi ölümü veya arabadamı olduğunu kontrol ediyor ve ona göre ekranda gösteriyor bu kodlamanın dez avanatjı ise arabaya bindi bilgisi 1 sn geç geldiği için kişi arabaya bindikten 1 sn sonra model ismini gösterecek
sonuç olarak fps optimizasyonu yapabilmek için scriptin her kod satırında ne işlemler yapıldığını anlayıp kendinize göre düzenlemeniz gerekmekte
Çok fazla kod bilgim yok ancak şimdiye kadar en çok karşılaştığım markerlar drawtextler ve e basın gibi etkileşim yerler sistemi yorar çünkü marker ve drawtextler döngü içerisinde örn saniyede 1000 kez gönderilir bunu düşürmeye çalışıtığınızda görüntü gidip gelmeye başları mantığı biraz değişik çalışıyor burada daha detaylı nasıl anlatabilirm bilmiyorum e basma gibi etkleşim yerleride aynı matıkta kişi o kordinattamı ve e bastımı diye kontrol eder her 1ms yaptığı için yorar bunları daha az yoracak hale getirmek mümkün dedğim gibi öğrenip kod bilginizi geliştirmelisiniz.
ingilizce biliyorsanız
local crouched = false
Citizen.CreateThread( function()
while true do
Citizen.Wait( 1 )
local ped = GetPlayerPed( -1 )
if ( DoesEntityExist( ped ) and not IsEntityDead( ped ) ) then
DisableControlAction( 0, 36, true ) -- INPUT_DUCK
if ( not IsPauseMenuActive() ) then
if ( IsDisabledControlJustPressed( 0, 36 ) ) then
RequestAnimSet( "move_ped_crouched" )
while ( not HasAnimSetLoaded( "move_ped_crouched" ) ) do
Citizen.Wait( 100 )
end
if ( crouched == true ) then
ResetPedMovementClipset( ped, 0 )
crouched = false
elseif ( crouched == false ) then
SetPedMovementClipset( ped, "move_ped_crouched", 0.25 )
crouched = true
end
end
end
end
end
end )
Çömelme script kodları bu fakat resmon değerlerinde 0.04 ms yiyor bunu azda olsa nasıl düşürebilirim ?
Sunucumuzdaki scriptlerin resmon değerleri bu şekilde bunları düşürmeme yardım edebilir misiniz ? + olarak bunları düşürürsek FPS de bir artış gözlemlenir mi ?