← Back to team overview

sikuli-driver team mailing list archive

Re: [Question #184410]: Sikuli + Regex = Sigex

 

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.