Hi there. Please fill out the issue template. Need logs and apitrace.
The J4125 has a very low-performing (and under-powered) iGPU, and Vulkan performance on such hardware is expected to be quite abysmal. That being said, do please collect a trace and we'll have a look to see if there's anything off anyway. Try to capture at least about a minute of gameplay or so.
Hi guys, I had to use google drive to upload the apitrace, it's not that big thanks to the compression. about 35 megs or so. please replay it. j4125 is a potato, yet, It runs far heavier games with dxvk.. this one looks off. you can see that the igpu is not even trying it... it's running at very low frequency and not a full throttle. the cpu is also not stressed.
link: https://drive.google.com/file/d/1YKdHsllPQWA_vvRdHoKyFDbr2H8Jz33h/view?usp=sharing
link: https://drive.google.com/file/d/1YKdHsllPQWA_vvRdHoKyFDbr2H8Jz33h/view?usp=sharing
Thank you for the trace, but it plays back quite fast here. Collecting a bit more gameplay would be useful, as I've mentioned above, so if you can please attach a longer one, it would be useful for a more in depth analysis (complete at least half the lap or so :). Keeping it at a lower resolution is fine, and that should ensure the trace stays within a reasonable size.
On playback of the current one I get:
Rendered 848 frames in 2.63618 secs, average of 321.678 fps
P.S.: If you're not getting capped by either the GPU or the CPU, it could mean that the game has an event system bottleneck or whatnot. I suggest enabling ESYNC/FSYNC/NTSYNC to see if that makes any difference, if you're not already doing it. And if you are, try disabling them, for good measure, since some games actually take issue if they are enabled.
oohh, I recorded just a short one to keep the size down. but first, beware that the first frames do run pretty fast, that's the menu, once you go into the actual game the framerate tanks. I did replay it on a bit better SoC , the n100 and I got 20 fps average at that super low resolution (cachyos on the n100). please consider to check that last frames at the end of the trace since those are the actual gameplay. regarding ntsync, you can see on my picture that NTsync is enabled thanks to mangohud. another note.. it may affect intel igpus at some degree. I dont have any amd hw to test it.
beware that the first frames do run pretty fast, that's the menu, once you go into the actual game the framerate tanks. I did replay it on a bit better SoC
Yeah, I'm not reproducing that here. It's smooth all the way from start to finish. No slowdowns whatsoever.
regarding ntsync, you can see on my picture that NTsync is enabled thanks to mangohud.
I see. Missed that indeed. If possible, I'd try it out with a non-ntsync enabled kernel too, just to rule out any interference from that side.
My guess at this point is that the intel driver hits some snag, but I'll look at the trace more closely too. Would need more material to work with though. I do have a Lunar Lake Intel iGPU too around, but that's quite capable as well. I'll test out to see how it behaves, in any case.
@salvalie One more thing to try is running it with: d3d9.allowDirectBufferMapping = False , though I doubt it will do anything here.
okay! will try that one. let me share you a longer one for now: https://drive.google.com/file/d/1pbu0meUX2AAXs_3q3wWrJBpteStee9nx/view?usp=sharing
let me share you a longer one for now: https://drive.google.com/file/d/1pbu0meUX2AAXs_3q3wWrJBpteStee9nx/view?usp=sharing
That's better, thank you. I see there's a spot where it drops (slightly) below 60 fps during playback, but d3d9.allowDirectBufferMapping = False fixed it for me, so it could be the game has some strange buffer access patterns. Let me know if that helps in your case.
Nevermind, I've uncompressed the trace and now it plays back perfectly smooth again.
okay, this is a d3d8 game, should that d3d9 env var actually do anything? as a workaround I could use the dx8to9 wrapper. I had the env var enabled but didn't make much of a difference (on pure dxvk8) . it would be great if you could replay it on a uhd 6XX gpu.
okay, this is a d3d8 game, should that d3d9 env var actually do anything?
Yes, all of dxvk's d3d9. options work with d3d8 as well.
it would be great if you could replay it on a uhd 6XX gpu.
Sure would be, but I don't have one 🤷.
hahah no problem, hopefully someone else do have an intel igpu to try it out. I will try it on a more robust 11 gen i5 igpu. seems to me that it's an intel mesa problem.
seems to me that it's an intel mesa problem.
Yeah, that seems to be it. I played back the trace on my Lunar Lake iGPU (which has modern entry level GPU performance really), and at times it dropped down to 5 fps. Something's going on in ANV.
okay! let me report it at mesa.
Done a bit more digging and it looks like d3d8.forceLegacyDiscard improves the situation somewhat... I'm getting 13 fps instead of 5 fps on Intel at least. That being said, we typically resort to that when games have rendering issues, not to boost performance, so figuring out why ANV ends up so slow in these cases is still beneficial.
Scratch that, turns out that d3d9.allowDirectBufferMapping = False makes it play back as fast as it did on Nvidia for me. @salvalie Are you sure the option has no effect for you? Easiest way to test is to run the game with DXVK_CONFIG="d3d9.allowDirectBufferMapping = False" wine <game.exe> .
P.S.: You can also try this build directly, no messing with options needed: https://github.com/doitsujin/dxvk/actions/runs/18107052510/artifacts/4135771179
I guess ANV simply reacts badly to GPU syncs, while Nvidia manages to eat through them better.
Hi, I recentyl tested a very old game on a "not that great" potato, the J4125 that has a uhd 600 . I was expecting a bit better performance, considering the age of the game. it may be heavily unoptimized or just not great on the mesa side side of things, buit the result were extremly poor no matter the resolution.
gpu utilization wasn't that high.
here 1080p just bc why not.