On 3/22/2012 7:43 AM, Kornél Pál wrote:
On 3/22/2012 6:00 AM, Dmitry Timoshkov wrote:
Joey Yandledragon@dancingdragon.be wrote: It's been explained several times already that any approach to share data between wineserver and clients is going to be rejected.
I think this is the reason that timers in shared_user_data are not being updated. I also think that updating timers in every client process in every 15.6 ms is a lot of overhead.
Another approach could be no to allocate that address and provide up to date data in an signal/exception handler. This is a more complex approach and not sure whether possible in user mode. And of course would defeat the purpose using shared memory for high performance.
A bit better approach was to mark that page PAGE_GUARD. Then wine could get an indication that it needs to be updated. Frequent accesses were not impacted because PAGE_GUARD could be reset by an APC some time later.
wine in this case should not use this structure for performance reasons.
I'm not sure however that this would solve Joey's problem since he mentioned that APCs were not accurate enough.
Thanks.
Kornel