- Версия MoonLoader
- .026-beta
Привет, столкнулся с такой проблемой что при открытии любого окна имгуй фпс падает (незначительно), однако если же вставить бесконечный цикл с массивом где может быть более 100 элементов, то фпс опускается до дна и начинается слайд-шоу.
Есть ли способы/методы как минимализировать падение ФПС, я понимаю шо имгуй сам по себе жрёт но когда цикл...
Есть ли способы/методы как минимализировать падение ФПС, я понимаю шо имгуй сам по себе жрёт но когда цикл...
code:
if not menu.automatic.v and not menu.binds.v and not menu.overlay.v and menu.binder.v and not menu.information.v and not menu.editor.v then
imgui.Text("Меню кастомного биндера на клавиши / команды (крайне не рекомендую вручную изменять .ini файл)")
imgui.PushFont(imfonts.smainFont2)
if imgui.Button("Добавить бинд", imgui.ImVec2(170.0, 23.0)) then
table.insert(binder_ini.list, encodeJson({
name = "Новый бинд",
msg = {},
cmd = "",
hotkey = "0",
fast = false
}))
inicfg.save(binder_ini, binds)
end
imgui.SameLine()
if imgui.Button("Настройка текстовых переменных", imgui.ImVec2(250.0, 23.0)) then
menu.variables.v = true
end
imgui.BeginChild('binds', imgui.ImVec2(1185, 429), true)
for k, v in ipairs(binder_ini.list) do
imgui.PushID(k)
if decodeJson(v) ~= nil then
v = decodeJson(v)
local cmd = imgui.ImBuffer(v.cmd, 256)
imgui.Button(tostring(k), imgui.ImVec2(50.0, 23.0))
imgui.SameLine()
imgui.Button(v.name, imgui.ImVec2(350.0, 23.0))
if imgui.IsItemClicked() then
currentBind = k
menu.editor.v = true
end
imgui.SameLine()
imgui.binderHotkey(k, k, 23)
imgui.SameLine()
imgui.PushItemWidth(125)
imgui.InputText('##bindсommand', cmd)
if not cmd.v:match("srp") then
v.cmd = cmd.v
binder_ini.list[k] = encodeJson(v)
inicfg.save(binder_ini, binds)
end
imgui.PopItemWidth()
imgui.PushFont(imfonts.mainFont)
if imgui.IsItemHovered() then
imgui.BeginTooltip()
imgui.TextUnformatted('Команду вводить без "/"')
imgui.TextUnformatted('Для работы бинда достаточно либо клавиши либо команды, но также можно и то и другое')
imgui.EndTooltip()
end
imgui.PopFont()
imgui.SameLine()
if imgui.CustomButton("Удалить", imgui.ImVec4(0.48, 0.16, 0.16, 0.54), imgui.ImVec4(0.98, 0.43, 0.26, 0.67), imgui.ImVec4(0.98, 0.43, 0.26, 0.40)) then
table.remove(binder_ini.list, k)
inicfg.save(binder_ini, binds)
end
imgui.SameLine()
local bool = v.fast and imgui.ImBool(true) or imgui.ImBool(false)
if imgui.Checkbox("- быстрое меню", bool) then
v.fast = bool.v
binder_ini.list[k] = encodeJson(v)
inicfg.save(binder_ini, binds)
end
end
imgui.PopID()
end
imgui.EndChild()
imgui.PopFont()
end