list.winehq.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Wine-gitlab

Thread Start a new thread
Download
Threads by month
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
wine-gitlab@list.winehq.org

September 2022

  • 5 participants
  • 758 discussions
[PATCH 0/3] MR880: winemac: WoW64 support
by Jacek Caban (@jacek) 18 Sep '22

18 Sep '22
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/880
2 3
0 0
[PATCH v12 0/4] MR852: ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional pread.
by Witold Baryluk (@baryluk) 17 Sep '22

17 Sep '22
Apex Legends game periodically (every 30 seconds) calls this function with up to 22k virtual addresses. All but 1 of them is valid. Due to amount of queries addresses, and cost of seek+read, this causes this function to take up to about 50ms. So framerate drops from ~150 FPS to 20FPS for about a second. As far as I can see, returning 0 entries from this function, still makes Apex Legend work. But keep code correct, and optimise it by: 1. Opening pagemap file once, and never closing it. This eliminates repeated fopen/fseek/fread/fclose sequences, which helps even in queries with small amount of virtual addresses. 2. Using pread, instead of seek+read. 3. Only performing pagemap read when the address is valid. Future work might recognize continues pages in the query, and perform a batch read of multiple pagemap entries, instead one page at a time, but for now it is not necassary. This change get_working_set_ex peek wall clock runtime from 57ms to 0.29ms. Tested on Linux, but similar change done for the BSD part. `Signed-off-by: Witold Baryluk <witold.baryluk(a)gmail.com>` -- v12: ntdll: Keep pagemap file open after first use of NtQueryVirtualMemory(MemoryWorkingSetExInformation) https://gitlab.winehq.org/wine/wine/-/merge_requests/852
3 6
0 0
[PATCH 0/1] MR879: oledb32/tests: Free returned property set memory
by Alistair Leslie-Hughes (@alesliehughes) 17 Sep '22

17 Sep '22
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36312 -- https://gitlab.winehq.org/wine/wine/-/merge_requests/879
2 1
0 0
[PATCH v11 0/4] MR852: ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional pread.
by Witold Baryluk (@baryluk) 17 Sep '22

17 Sep '22
Apex Legends game periodically (every 30 seconds) calls this function with up to 22k virtual addresses. All but 1 of them is valid. Due to amount of queries addresses, and cost of seek+read, this causes this function to take up to about 50ms. So framerate drops from ~150 FPS to 20FPS for about a second. As far as I can see, returning 0 entries from this function, still makes Apex Legend work. But keep code correct, and optimise it by: 1. Opening pagemap file once, and never closing it. This eliminates repeated fopen/fseek/fread/fclose sequences, which helps even in queries with small amount of virtual addresses. 2. Using pread, instead of seek+read. 3. Only performing pagemap read when the address is valid. Future work might recognize continues pages in the query, and perform a batch read of multiple pagemap entries, instead one page at a time, but for now it is not necassary. This change get_working_set_ex peek wall clock runtime from 57ms to 0.29ms. Tested on Linux, but similar change done for the BSD part. `Signed-off-by: Witold Baryluk <witold.baryluk(a)gmail.com>` -- v11: ntdll: Keep pagemap file open after first use of NtQueryVirtualMemory(MemoryWorkingSetExInformation) https://gitlab.winehq.org/wine/wine/-/merge_requests/852
2 5
0 0
[PATCH v10 0/4] MR852: ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional pread.
by Witold Baryluk (@baryluk) 17 Sep '22

17 Sep '22
Apex Legends game periodically (every 30 seconds) calls this function with up to 22k virtual addresses. All but 1 of them is valid. Due to amount of queries addresses, and cost of seek+read, this causes this function to take up to about 50ms. So framerate drops from ~150 FPS to 20FPS for about a second. As far as I can see, returning 0 entries from this function, still makes Apex Legend work. But keep code correct, and optimise it by: 1. Opening pagemap file once, and never closing it. This eliminates repeated fopen/fseek/fread/fclose sequences, which helps even in queries with small amount of virtual addresses. 2. Using pread, instead of seek+read. 3. Only performing pagemap read when the address is valid. Future work might recognize continues pages in the query, and perform a batch read of multiple pagemap entries, instead one page at a time, but for now it is not necassary. This change get_working_set_ex peek wall clock runtime from 57ms to 0.29ms. Tested on Linux, but similar change done for the BSD part. `Signed-off-by: Witold Baryluk <witold.baryluk(a)gmail.com>` -- v10: ntdll: Keep pagemap file open after first use of NtQueryVirtualMemory(MemoryWorkingSetExInformation) https://gitlab.winehq.org/wine/wine/-/merge_requests/852
2 5
0 0
[PATCH v9 0/4] MR852: ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional pread.
by Witold Baryluk (@baryluk) 17 Sep '22

17 Sep '22
Apex Legends game periodically (every 30 seconds) calls this function with up to 22k virtual addresses. All but 1 of them is valid. Due to amount of queries addresses, and cost of seek+read, this causes this function to take up to about 50ms. So framerate drops from ~150 FPS to 20FPS for about a second. As far as I can see, returning 0 entries from this function, still makes Apex Legend work. But keep code correct, and optimise it by: 1. Opening pagemap file once, and never closing it. This eliminates repeated fopen/fseek/fread/fclose sequences, which helps even in queries with small amount of virtual addresses. 2. Using pread, instead of seek+read. 3. Only performing pagemap read when the address is valid. Future work might recognize continues pages in the query, and perform a batch read of multiple pagemap entries, instead one page at a time, but for now it is not necassary. This change get_working_set_ex peek wall clock runtime from 57ms to 0.29ms. Tested on Linux, but similar change done for the BSD part. `Signed-off-by: Witold Baryluk <witold.baryluk(a)gmail.com>` -- v9: ntdll: Keep pagemap file open after first use of NtQueryVirtualMemory(MemoryWorkingSetExInformation) ntdll: Use pread in NtQueryVirtualMemory(MemoryWorkingSetExInformation) ntdll: Do not use hardcoded page shift in NtQueryVirtualMemory(MemoryWorkingSetExInformation) ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional page check https://gitlab.winehq.org/wine/wine/-/merge_requests/852
3 6
0 0
Re: [PATCH v8 0/4] MR852: ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional pread.
by Witold Baryluk (@baryluk) 17 Sep '22

17 Sep '22
On Sat Sep 17 17:00:54 2022 +0000, Witold Baryluk wrote: > Fixed. Good eye! Hmm. I pushed to my branch https://gitlab.winehq.org/baryluk/wine/-/commit/47f155ee2ec1da7a7f62ad1ca0c… , but this MR still shows the previous content of the branch. Weird. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/852#note_8745
1 0
0 0
Re: [PATCH v8 0/4] MR852: ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional pread.
by Witold Baryluk (@baryluk) 17 Sep '22

17 Sep '22
On Sat Sep 17 15:38:35 2022 +0000, Jinoh Kang wrote: > ```suggestion:-0+0 > if (pagemap_fd == -1 || > ``` Fixed. Good eye! -- https://gitlab.winehq.org/wine/wine/-/merge_requests/852#note_8743
1 0
0 0
Re: [PATCH v8 0/4] MR852: ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional pread.
by Jinoh Kang (@iamahuman) 17 Sep '22

17 Sep '22
Jinoh Kang (@iamahuman) commented about dlls/ntdll/unix/virtual.c: > get_committed_size( view, p->VirtualAddress, &vprot, VPROT_COMMITTED ) && > (vprot & VPROT_COMMITTED)) > { > - if (!f || fseek( f, ((UINT_PTR)p->VirtualAddress >> page_shift) * sizeof(pagemap), SEEK_SET ) == -1 || > - fread( &pagemap, sizeof(pagemap), 1, f ) != 1) > + if (pagemap_fd != -1 || ```suggestion:-0+0 if (pagemap_fd == -1 || ``` -- https://gitlab.winehq.org/wine/wine/-/merge_requests/852#note_8741
1 0
0 0
[PATCH 0/1] MR877: po: Update Lithuanian translation.
by Aurimas Fišeras 17 Sep '22

17 Sep '22
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/877
1 1
0 0
  • ← Newer
  • 1
  • ...
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • ...
  • 76
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.