Hi again, thank you Adam & Marek for your feedback! I appreciate it. Unfortunately It's the same amount of time even if I skip the swapchain. I have profiled some seconds of the execution using Visual Studio's profiler (with the swapchain, normally) while panning an almost empty scene, and it's identifying a hotpath. I have uploaded 2 screenshots of the call tree at https://imgur.com/a/cxtXdOz if you'd like to check it out.
Another thing I'd like to note is that by using Mesa 23.1-dev (instead of 23.0.1) I got a nice performance boost of ~2-3x. However it's still performing slower than what I'd expect on this system (right now it takes 60ms for 10 lines so I feel that something weird is still going on). Big congratulations on your tremendous work anyway. Best regards, George On Tue, Apr 4, 2023 at 9:24 PM Adam Jackson <a...@redhat.com> wrote: > My first suspicion would be to rule out window system interaction. If you > render to your own VkImage instead of to a swapchain, how fast can you go? > > - ajax > > > On Tue, Apr 4, 2023 at 12:56 PM George Karpathios <gkar...@gmail.com> > wrote: > >> Hi list, I hope all is well. >> >> I would like to ask if there are any known issues regarding the >> performance of Lavapipe in Windows 10. >> >> I'm trying to add support for Vulkan software rendering into a relatively >> large 3d modeling/rendering application, so I opted to try Mesa and >> Lavapipe. I built LLVM 16.0.0 and Mesa 23.0.1 using the documentation >> (thanks for that!). My environment is an 8-core Intel i7 (with an >> integrated iGPU) with 32GiB RAM, an nVidia RTX 3070 and Visual Studio >> 2019/MSVC. >> >> The build procedure seems to be ok (Release builds, proper linking with >> either MT or MD runtime libraries, proper DLL loading via VK_ICD_FILENAMES) >> but the performance I'm getting during runtime is very slow. It looks like >> it needs 1-1.5 seconds to render a virtually empty scene (think just a >> floor grid of lines) and over 15-20 seconds for a frame of a few thousand >> vertices. The CPU utilisation also seems to be low, under 20-25%. >> >> I understand that the information I provide is probably vague, but at >> this point I just want to rule some probable causes out, like is there any >> version of LLVM or Mesa or combination of them that is known to have such >> issues? Maybe some build/installation configuration parameter or >> environment variable that is important in Windows specifically and I may >> have missed (I tried tweaking LP_NUM_THREADS but didn't change anything) ? >> Anything that could point me in the right direction is highly valuable & >> appreciated. >> >> Also probably worth noting is the fact that the vkcube(pp) demo from the >> Vulkan SDK seems to run ok with Lavapipe, but in this case I also notice >> (in task manager) a ~50% utilization of the integrated iGPU (why?). In the >> aforementioned larger application I don't notice any usage of the >> integrated iGPU. >> >> Any advice on what I could check/double check is more than welcome. Thank >> you in advance for your time. >> >> Best regards, >> George >> >> >>