Question #184410 on Sikuli changed:
https://answers.launchpad.net/sikuli/+question/184410
Status: Open => Answered
RaiMan proposed the following answer:
This was planned "a long time ago" to implement in the Pattern class,
but is not realized until now.
A good example is, to find some area on the screen, by giving some frame
elements and other things with some logic.
The basic problem with Sikuli's current implementation: You can do all
this right now using if/elif/else together with exists(,0), but all the
find operations are done sequentially. So with some average pattern (3 -
5 elements) with optimal conditions (average 0.3 to 0.5 seconds per
search) you will end up with more than 2 seconds. In the average not
optimized situation this might be 5 to 10 seconds. This is not really
motivating to use this as a normal approach.
The above mentioned Pattern approach needs real parallel processing
(efficiently using multi-processor-environments). This is what is really
missing in Sikuli.
something like:
pat = PatternParallel("%1 and %2 or %3 and %4 and not %5", img1, img2, img3,
img4, img5)
match = find(pat)
Where match will be the largest region around these elements.
With some effort you could simulate this even now, using some
Region.observe(FOREVER, background = True), since these observes are
threaded, which gives some parallel effect. The challenge is the
coordination of the handlers in this case.
see: https://answers.launchpad.net/sikuli/+question/183655
--
You received this question notification because you are a member of
Sikuli Drivers, which is an answer contact for Sikuli.
_______________________________________________
Mailing list: https://launchpad.net/~sikuli-driver
Post to : [email protected]
Unsubscribe : https://launchpad.net/~sikuli-driver
More help : https://help.launchpad.net/ListHelp