On Tue Feb 25 20:23:00 2025 +0000, Stefan Brüns wrote:
> @d1saster - Maybe you could extend the test so all 4 cases (2 fill
> modes, intersecting/non-intersecting) are tested (marking the
> ALTERNATE-intersecting one as known-fail).
This isn't about percentage or how common it is. It's not clear this is the right direction to me, for example groups could contain path geometries with different filling modes, or other groups.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6492#note_95936
The problem is that registry save is a very heavy operation (scheduled each 30sec in wineserver) during which server doesn't process any requests and the whole prefix is stalled for the duration of the operation.
For some reference, the process takes from 50-100ms here up to 1-1.5sec with default initial registry (after some registry modifications which trigger actual registry flush), depending on the filesystem type and state (as huge time may be spent in file close / rename). With the same registry after this patchset the server part (flush_key returning the whole registry data) is taking ~4-5mcs, measured from the client side so that already includes data transfer.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3124
On Tue Feb 25 20:20:12 2025 +0000, Stefan Brüns wrote:
> I think the current implementation is only incorrect when the fill mode
> is D2D1_FILL_MODE_ALTERNATE (0) (aka Even-Odd), but correct for
> D2D1_FILL_MODE_WINDING (1). More specifically, when the fill mode is
> ALTERNATE *and* there are intersections - for all of the other three
> cases (WINDING with and without intersections, ALTERNATE without), it is correct.
> According to my experience, even-odd fill mode is quite uncommon. Having
> an implementation which is correct 99% of the time in real-world usage,
> and leaving the remainder with an explicit, verbose FIXME is an
> definitive improvement. Today, the result is always incorrect.
@d1saster - Maybe you could extend the test so all 4 cases (2 fill modes, intersecting/non-intersecting) are tested (marking the ALTERNATE-intersecting one as known-fail).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6492#note_95932