保持屏幕 (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