perf+fix: rutetjek gemmes 30 s (hak hvert 5. s); kilde der gav lidt hviler 3 min (æg-vognen til samme hønsehus 3x) (v1.27.3.0)

In-game 26/9: hak ca. hvert 5. s efter 1.27.2 = holdende vognes genplanlægning (ADOutbound/ADLoadSwap hvert
5 s) med AD-stifinding + reserve-BFS gennem 13.550 waypoints pr. kandidat. Rutesvar caches pr. mål og 10 m-
område i 30 s (max 2000 poster); langsomme rutetjek logges. Æg: 'ingen mere last' markerer nu kilden som
hvilende 3 min, så runden roterer mellem hønsehusene.
This commit is contained in:
2026-09-26 11:07:16 +02:00
parent 038cb5be54
commit 0fca6e8a9a
8 changed files with 138 additions and 11 deletions
+21
View File
@@ -345,6 +345,26 @@ check("O13 WARN", lastLog("intet at læsse") ~= nil, true)
local choice13b = ADOutbound.choosePickup(adEnv, v13)
check("O13 næste plan udelukker den tomme kilde", choice13b.markerIndex, mSugar.markerIndex)
-- O16: kilden gav LIDT og så intet mere ("ingen mere last") -> kilden hviler, næste tur tager en anden
-- (in-game 26/9: æg-vognen kørte til Æg Pickup 4 tre gange i træk; én palle inden for rækkevidde, resten udenfor)
local v16 = newVehicle("Thin", 0, 0, 20000)
runs[v16] = outboundRun(16, {1, 2}, {{fillType = "SUGAR", policy = "sell"}}, {collectRound = false})
ADOutbound.resetEmptySources()
local choice16 = ADOutbound.choosePickup(adEnv, v16)
local first16 = choice16.markerIndex
local task16 = newTask(v16, choice16.markerIndex == mSilo.markerIndex and 2 or 1)
v16.atTarget = true
v16.trailers.level = 500
ADOutbound.beforeLoadUpdate(adEnv, task16, 100)
ADOutbound.beforeLoadUpdate(adEnv, task16, 16000)
check("O16 kører med det den fik", task16.finishedCalls, 1)
check("O16 log", lastLog("ingen mere last") ~= nil, true)
v16.trailers.level = 0
local choice16b = ADOutbound.choosePickup(adEnv, v16)
check("O16 næste tur tager en anden kilde", choice16b ~= nil and choice16b.markerIndex ~= first16, true)
ADOutbound.resetEmptySources() -- (senere tests forventer alle kilder ledige)
-- O14 (I6): rutetjek kun for salgssteder over tærsklen, bedste først, stop ved første nåelige
local routeChecks = 0
local originalGetPathTo = adEnv.ADGraphManager.getPathTo
@@ -613,5 +633,6 @@ do
ADLoadSwap.findDumpMarker = dumpBefore
end
print(failures == 0 and "\nALLE TESTS OK" or ("\n" .. failures .. " FEJL"))
os.exit(failures == 0 and 0 or 1)