Падение ФПС при рендеринге текста

LINKASH --__--

Новичок
Автор темы
8
0
Недавно я начал делать свой lua hud, но встретился с проблемой, что при рендеринге текста(кол-во моего ХП в цифрах) жутко падает ФПС(со 100 может упасть до 10-20), а потом и вовсе игра "умирает". В чём пробелма? Только недавно начал разбираться в lua, заранее всем спасибо
 
Решение
ну раз уж код у тебя не полный, держи. дальше ебись сам

Lua:
function luahud()
    while true do wait(0)
        if HPhud.v and not sampIsChatInputActive() and not isSampfuncsConsoleActive() and not sampIsDialogActive() then
            playerHP = getCharHealth(playerPed)
            resX, resY = getScreenResolution()
            cX1 = resX / 1.1900826446281
            cY1 = resY / 20.93023255814
            szX1 = resX / 32
            szY1 = resY / 18
            posX1 = resX / 1.1464968152866
            posY1 = resY / 15.789473684211
            xx1 = resX * playerHP
            xx1_1 = xx1 / 9.1139240506329
            roX1 = xx1_1 / 100
            roY1 = resY / 45
            psX1 = resX / 1.089258698941
            psY1 = resY /...

©Ded_Fedot

КГБ
2,139
1,263
Недавно я начал делать свой lua hud, но встретился с проблемой, что при рендеринге текста(кол-во моего ХП в цифрах) жутко падает ФПС(со 100 может упасть до 10-20), а потом и вовсе игра "умирает". В чём пробелма? Только недавно начал разбираться в lua, заранее всем спасибо
Тут как бы код нужен, люди пока не вангуют
 

LINKASH --__--

Новичок
Автор темы
8
0
Тут как бы код нужен, люди пока не вангуют
function luahud()
fonticons = renderCreateFont("Arial", fic, 12)
hp = renderLoadTextureFromFile("moonloader/img/HUD/hp.png")
playerHP = getCharHealth(playerPed)
resX, resY = getScreenResolution()
cX1 = resX / 1.1900826446281
cY1 = resY / 20.93023255814
szX1 = resX / 32
szY1 = resY / 18
posX1 = resX / 1.1464968152866
posY1 = resY / 15.789473684211
xx1 = resX * playerHP
xx1_1 = xx1 / 9.1139240506329
roX1 = xx1_1 / 100
roY1 = resY / 45
psX1 = resX / 1.089258698941
psY1 = resY / 16.363636363636
fic = resY / 75



sampTextdrawSetPos(0, 4600, 4800)

renderDrawTexture(hp, cX1, cY1, szX1, szY1, 0, -1)



if 0 <= playerHP then
if playerHP <= 100 then
renderDrawBox(posX1, posY1, roX1, roY1, 4294724684)
end
end

hpp = string.format("%d", playerHP)
renderFontDrawText(fonticons, hpp, psX1, psY1, 4294967295)


end

Вот вызов функции в main():

if HPhud.v and not sampIsChatInputActive() and not isSampfuncsConsoleActive() and not sampIsDialogActive() then
luahud()
end

Вызывается функция через imgui.Checkbox('TESTHP', HPhud)
 

LINKASH --__--

Новичок
Автор темы
8
0
м. загрузка текстуры в цикле, создание шрифта в цикле, и всё это без wait(0). интересно. чому же фыпыэс падает
(так делать плохо)
Можешь скинуть код, как это должно выглядить, что бы ФПС не жрало? Как лучше всё это сделать? Я ток недавно заинтересовался всем этим, поэтому пока всё фиогово поулчается и я часто туплю.
 

deddosouru

Смотрю аниме, служу Сатане
Друг
2,036
1,323
ну раз уж код у тебя не полный, держи. дальше ебись сам

Lua:
function luahud()
    while true do wait(0)
        if HPhud.v and not sampIsChatInputActive() and not isSampfuncsConsoleActive() and not sampIsDialogActive() then
            playerHP = getCharHealth(playerPed)
            resX, resY = getScreenResolution()
            cX1 = resX / 1.1900826446281
            cY1 = resY / 20.93023255814
            szX1 = resX / 32
            szY1 = resY / 18
            posX1 = resX / 1.1464968152866
            posY1 = resY / 15.789473684211
            xx1 = resX * playerHP
            xx1_1 = xx1 / 9.1139240506329
            roX1 = xx1_1 / 100
            roY1 = resY / 45
            psX1 = resX / 1.089258698941
            psY1 = resY / 16.363636363636
            fic = resY / 75

            sampTextdrawSetPos(0, 4600, 4800)

            renderDrawTexture(hp, cX1, cY1, szX1, szY1, 0, -1)



            if playerHP > 0 then
                    renderDrawBox(posX1, posY1, roX1, roY1, 4294724684)
            end
            renderFontDrawText(fonticons, tostring(playerHP), psX1, psY1, 4294967295)
        end
    end
end
function main()
    fonticons = renderCreateFont("Arial", fic, 12)
    hp = renderLoadTextureFromFile("moonloader/img/HUD/hp.png")
    lua_thread.create(luahud)
end