保持螢幕 (screen.keep)
聲明
screen.keep()
說明
在腳本中保持目前螢幕內容到緩衝區,多次呼叫取色、找色、截圖、找圖等函式時,將從保持的緩衝區中取得內容,而不會從實際螢幕取得影像,從而提升圖色判斷的性能。
該函式為優化類函式,能夠為大量的靜態影像處理函式提供性能優化。
呼叫僅會影響 XXTouch 截圖取色函式的資料源,不會 導致螢幕實際畫面卡住不動。
範例
-- 循環取 6144 個點的顏色輸出到日誌
t = {}
screen.keep()
for k = 1, 640, 10 do
for j = 1, 960, 10 do
--格式化為十六進制文本
t[#t + 1] = string.format("%X", screen.get_color(k, j))
end
end
screen.unkeep()
nLog(t)
注:上述代碼中使用了非本章函式 nLog
小知識
- 針對同一位置兩行連續單獨的 screen.get_color 呼叫可能取到不同的值
- 不使用 screen.keep 的情況下 screen.get_color 單獨呼叫耗時約等於一次 screen.keep 的耗時
- 呼叫 screen.keep 之後,再連續呼叫 50 次 screen.get_color 耗時約等於呼叫一次 screen.keep