关于多次找色耗时的实验
2017-10-17 19:12:44

作者:滨州IT疯子


脚本做大了后发现速度越来越慢 so 各种找原因  做了一下 找色速度测试

实验条件  随机颜色5个点找色 使用keepScreen 之后循环100次  和不试用keepScreen循环100次作比较
实验代码

  1. init("0", 0)

  2. BT=mTime()

  3. w, h= getScreenSize()

  4. math.randomseed(tostring(os.time()):reverse():sub(1, 6))

  5. function st(str)

  6.         local tt=mTime()

  7.         sysLog(str..'--耗时:'..(tt-BT)..'ms')

  8.         BT=mTime()

  9. end

  10. while true do

  11. st('测试开始')

  12. st('keep找色100次开始')

  13. keepScreen(true)

  14. for i=1,100 do

  15.         x, y = findMultiColorInRegionFuzzy(math.random(111111,999999),"136|0|0xe82d0c,-829|10|0x875832,-810|626|0x30991d,211|584|0xf9ca6c", 80, 0, 0, w, h)

  16. end

  17. keepScreen(false)

  18. st('keep找色100次结束')

  19. st('不keep找色100次开始')

  20. for i=1,100 do

  21.         x, y = findMultiColorInRegionFuzzy(math.random(111111,999999),"136|0|0xe82d0c,-829|10|0x875832,-810|626|0x30991d,211|584|0xf9ca6c", 80, 0, 0, w, h)

  22. end

  23. st('不keep找色100次结束')

  24. st('测试结束')

  25. end

复制代码




1、果盘模拟器找色测试
分辨率 540X960测试
精度80

精度95

分辨率720p
精度80


精度95


分辨率1080p
精度80

精度95

看起来没什么效果 
再来看一下真机
苹果5测试
精度95


精度80


小米2测试
精度95



精度80


vivo x3t测试
精度95


精度80

红米note2
精度95测试


精度80测试


经过测试 发现  对于高性能机器来说 keep的影响不大 影响大的是 性能比较低的机器
精度 对找色速度影响不大 
总结 对于多点找色 尽量多用keep后 再找色 
例如 应该这样去做
keepScreen(true)
找色1...
找色2...
找色3...
keepScreen(false)  
最好不要直接
找色1...
找色2...
找色3...

这样做 这样做找色次数少的时候不明显 但是找色多了 就非常明显

官方论坛原贴地址:http://bbs.xxzhushou.cn/thread-88896302-1-1.html