On Mon, 2010-02-22 at 16:15 +0200, Yonit Halperin wrote: > On 02/18/2010 10:58 PM, Alexander Larsson wrote: > > +int region_test(const QRegion *rgn, const QRegion *other_rgn, int > query) > > { > > } > > > > > The new implementation is not efficient comparing to the previous > implementation. > The previous one returns immediately once the requested query is > satisfied (e.g., if it is > REGION_TEST_SHARED, it returns after it encounters the first two > rectangles that intersect). > However, the suggested implementation calculates the whole > intersection. > In addition, in case we query for REGION_TEST_RIGHT/LEFT_EXCLUSIVE it > goes over the region again > and compares it to the intersection. The previous implementation makes > > only one pass over the region.
Yes, I'm aware of this. I just did it the simple way to get something working initially. Getting a short-circuiting version in should be doable. > One more thing: as Izik mentioned, in many places you transform pixman > > bboxes to SpiceRect. Can't we work only with one type and perform the > transformation only once more upstream? Long term this is what i want to do, however, pixman_box_t and SpiceRects have coordinates stored in different order, and we can't just change SpiceRect as it currently defines the network protocol. When we have a real demarshaller for the network protocol we should be able to have SpiceRect and pixman_box_t be compatible and avoid all this conversion. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Alexander Larsson Red Hat, Inc al...@redhat.com alexander.lars...@gmail.com He's a lounge-singing native American ex-con looking for 'the Big One.' She's an artistic communist wrestler from the wrong side of the tracks. They fight crime! _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel