perf(marker): hak hvert sekund — ingen kopier når intet ændrer sig, passive marker i tiendedele, scan hvert 2. s, cachet markliste/markører, tick-tidsmåling i loggen (v1.27.1.0)
In-game 26/9: lille hak ca. hvert sekund. Markarbejdets tick kopierede alle markers data hvert sekund (affald -> GC-pause), hentede alle kortets marker og alle AD-markører.
This commit is contained in:
@@ -223,16 +223,27 @@ function ADFieldModel.lanePositions(n)
|
||||
end
|
||||
|
||||
-- Venter/færdig -> klar ved fuld vækst; klar -> venter hvis afgrøden blev taget uden os.
|
||||
-- Uændret -> samme tabel (kaldes for hver mark hvert sekund; nye kopier giver affald og GC-hak).
|
||||
function ADFieldModel.onReadiness(field, ratio)
|
||||
local copy = copyField(field)
|
||||
if (field.stage == "idle" or field.stage == "done") and ratio >= ADFieldModel.READY_RATIO then
|
||||
local copy = copyField(field)
|
||||
copy.stage = "ready"
|
||||
return copy
|
||||
elseif field.stage == "ready" and ratio < ADFieldModel.CUT_RATIO and not field.startRequested then
|
||||
-- (en Start nu-forespørgsel holder marken klar: bare marker har klar-andel 0)
|
||||
local copy = copyField(field)
|
||||
copy.stage = "idle"
|
||||
copy.startRequested = false
|
||||
return copy
|
||||
end
|
||||
return copy
|
||||
return field
|
||||
end
|
||||
|
||||
-- Passiv mark: manuel, uden mål, venter/færdig, ingen Start nu — der sker intet uden brugeren.
|
||||
function ADFieldModel.isPassive(field)
|
||||
local plan = field.plan
|
||||
return plan.mode ~= "auto" and (plan.targetFruit == nil or plan.targetFruit == "") and not field.startRequested
|
||||
and (field.stage == "idle" or field.stage == "done")
|
||||
end
|
||||
|
||||
function ADFieldModel.shouldStart(field)
|
||||
|
||||
Reference in New Issue
Block a user