acomminos / wine-pba

Patches to add a persistent buffer allocator for faster dynamic geometry in Direct3D games.
GNU Lesser General Public License v2.1
138 stars 6 forks source link

SRW api (Slim Reader/Writer) insteaded Critical Section #60

Open Skulltrail192 opened 6 years ago

Skulltrail192 commented 6 years ago

Wined3d implementation use several critical sections to control aqquire and release resources and enter on critical region. However, SRW api is much more fast than critical section, and it can be reflect on increase of fps.

Perfomance Comparation: http://nasutechtips.blogspot.com.br/2010/11/slim-read-write-srw-locks.html https://www.codeproject.com/Articles/32685/Testing-reader-writer-locks

Goldpaw commented 6 years ago

Does those still apply? Those articles are from 2009 and 2010, wine back then isn't at all comparable to what it is now.

Skulltrail192 commented 6 years ago

Well, the implementation of critical section and srw is not changed, keep more fast on SRW, because it's use KeyedEvent (implemented on wine)

mrdeathjr28 commented 6 years ago

@Skulltrail192

Very interesting however could send info to wine devs (specially alexandre julliard)

https://www.winehq.org/pipermail/wine-devel/