perf(markarbejde): markscanning kører op til 8 opgaver pr. frame inden for 0,5 ms — marklisten fyldes hurtigt efter genstart (v1.28.9.0)
This commit is contained in:
@@ -74,5 +74,21 @@ check("SC9 højst ét punkts arbejde pr. frame (<= 4 opslag)", maxPerFrame <= 4,
|
||||
print(" (flest opslag i ét frame: " .. maxPerFrame .. ")")
|
||||
check("SC10 marklisten", #ADFields.list(), 1)
|
||||
|
||||
-- SC11: med ur kører flere opgaver pr. frame inden for budgettet (0,5 ms), højst MAX_TASKS_PER_FRAME
|
||||
local fakeTime = 0
|
||||
netGetTime = function() fakeTime = fakeTime + 0.1; return fakeTime end -- hver opgave "koster" 0,1 ms
|
||||
ADFields.cache, ADFields.listCache, ADFields.activeScan, ADFields.lastScanStart = {}, nil, nil, nil
|
||||
local frames2 = 0
|
||||
for _ = 1, 400 do
|
||||
if ADFields.getInfo(7) ~= nil then break end
|
||||
ADFields.scanStep(adEnv, 1, now)
|
||||
now = now + 16
|
||||
frames2 = frames2 + 1
|
||||
end
|
||||
check("SC11 scannet igen med ur", ADFields.getInfo(7) ~= nil, true)
|
||||
check("SC11 færre frames end én opgave pr. frame", frames2 < frames + 0, true)
|
||||
print(" (frames uden ur: " .. frames .. ", med ur: " .. frames2 .. ")")
|
||||
netGetTime = nil
|
||||
|
||||
print(failures == 0 and "\nALLE TESTS OK" or ("\n" .. failures .. " FEJL"))
|
||||
os.exit(failures == 0 and 0 or 1)
|
||||
|
||||
Reference in New Issue
Block a user