Пробую писать аддоны для The Elder Scrolls Online
Недавно обратил внимание, что игра лучше всего работает с ограничителем в 65 фпс
Может быть это только у меня, однако при 65 фпс нагрузка на CPU и GPU ниже, чем при 60 фпс (с ограничителем или VSync)
Так же в игре нет функции ограничения кадров в фоновом режиме (да и в обычном тоже)
Вот из-за этого всего пришлось разобраться и сделать маленький 1 КБ аддон
Использование: /zfps фпс фпс_в_фоне
Пример: /zfps 65 20
Собственно 65 20 - это значение по умолчанию. Можно просто установить и ничего не делать. При этом должна повыситься производительность, а нагрузка на железо уменьшиться
Качать тут:
Zadrot FPS (Curse)
Zadrot FPS (EsoUI)
Ещё есть мнение, что большинство местных аддонописцев долбанутые на всю голову. Аддоны требуют какие-то библиотеки, иногда по 5 штук. А потом обновляются и хотят ещё больше. Так и не понял зачем.
А самое моё любимое - это когда устанавливаешь библиотеку, а она не загружается, потому что ей, ####, для работы нужна другая библиотека!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| local Name = "Zadrot_FPS"
local foreground = 65
local background = 20
local function Load()
if Zadrot_FPS_Saved and Zadrot_FPS_Saved[1] and Zadrot_FPS_Saved[1] > 0 then foreground = Zadrot_FPS_Saved[1] end
if Zadrot_FPS_Saved and Zadrot_FPS_Saved[2] and Zadrot_FPS_Saved[2] > 0 then background = Zadrot_FPS_Saved[2] end
end
local function Set(active)
if active then SetCVar("MinFrameTime.2", 1 / foreground)
else SetCVar("MinFrameTime.2", 1 / background) end
end
EVENT_MANAGER:RegisterForEvent(
Name,
EVENT_ADD_ON_LOADED,
function(_, loadedAddon)
if loadedAddon == Name then
EVENT_MANAGER:UnregisterForEvent(Name, EVENT_ADD_ON_LOADED)
Load()
--Set(DoesGameHaveFocus())
Set(true)
end
end
)
EVENT_MANAGER:RegisterForEvent(
Name .. "FocusChanged",
EVENT_GAME_FOCUS_CHANGED,
function(_, focus)
Set(focus)
end
)
local function ZadrotSC(args)
Zadrot_FPS_Saved = {}
for d in string.gmatch(args, "%d+") do
table.insert(Zadrot_FPS_Saved, tonumber(d))
end
Load()
d("Foreground = " .. foreground .. ", Background = " .. background)
Set(DoesGameHaveFocus())
end
SLASH_COMMANDS["/zfps"] = ZadrotSC
|