On Sat, Dec 7, 2024 at 10:51 AM Zhiyi Zhang zzhang@codeweavers.com wrote:
On 12/6/24 17:19, zhengxianwei wrote:
Hello, I am trying to run Photoshop 23 using the DLL generated by
VKD3D-Proton.
I noticed that after opening an image, dragging it causes display issues.
Here’s a video showing the problem:
https://www.youtube.com/watch?v=JgWrsFx4GrM < https://www.youtube.com/watch?v=JgWrsFx4GrM%3E (Because I have not been using the successful obs recording, so I switched to recording with my cell phone, the result is worse, sorry!)
When I capture frames with RenderDoc, the images appear normal.
I suspect the issue might be related to the desktop gui composition
process, but I’m unsure how to analyze such problems. Do you have any suggestions?
Looks like the `recent` window is fighting for z-order with its image window. Use spy++ and see if they're the same window.
I used Spy++ to check, and if my operation was correct, these are indeed two separate windows.
If there are different windows, then it might be some window manager/winex11.drv bugs.
You can also try running it on macOS with winemac.drv to check if it's
caused by WM.
This flickering only occurs when D3D12 hardware rendering is enabled.
I disabled vkd3d-proton’s d3d12.dll and d3d12core.dll, forcing Photoshop 23 into the software rendering process (CPU mode). The flickering during dragging disappeared. Does this indicate that the window management is not the issue?
After using spy++ to grab messages, I found that in cpu mode, there are many different types of messages (WM_ERASEBKGND, WM_MOUSEMOV, WM_MOUSEDOWN, WM_MOUSEUP, etc ) under the ps panel (the panel with the doraemon image), but in gpu mode, there is only WM_NCHITTEST, why is this?
I feel that in gpu mode, the ps panel seems to be drawn with some kind of canvas, and all the events, are taken over by some other mechanism, but I don't clear what that mechanism is?