punesemu / puNES

Qt-based Nintendo Entertaiment System emulator and NSF/NSF2/NSFe Music Player (Linux, FreeBSD, OpenBSD and Windows)
GNU General Public License v2.0
656 stars 42 forks source link

Very low FPS while recording videos (D3D9) #366

Closed anewuser closed 9 months ago

anewuser commented 10 months ago

Hello. puNES becomes sluggish when I try to record videos using a Ryzen 5700u laptop with a D3D9 build (either the latest build or v0.110) on Windows 10 21H2, no matter what video format I choose.

This doesn't happen with the OpenGL builds, and I was able to record videos in the past with much slower Intel laptops. I can also record videos on this new laptop just fine using BizHawk on D3D9 mode with both its AVI writer and its FFmpeg writer.

Is there anything I can do to troubleshoot this?

punesemu commented 9 months ago

Hmmmm, I can't reproduce the problem on my computer, I'm also trying with virtual machines but I still can't reproduce it, I'll try on my office laptop. So, if I understand correctly, you have the same problem with version 0.110 and only in the D3D9 version. Do you still have one of your old Intel laptops? If so, could you try video recording on that and let me know?

anewuser commented 9 months ago

Yes, this was recorded with a Pentium P6200 and the latest puNES build:

https://github.com/punesemu/puNES/assets/6733770/8e0a19e3-3ca7-410a-8cc1-2cef72d215f5

I've reinstalled some drivers on the AMD laptop and the puNES performance is now better, but recording videos with the D3D9 build still causes a high CPU usage (over 20%, while the OpenGL version stays under 10%) and the output is still not smooth:

https://github.com/punesemu/puNES/assets/6733770/5e35e4da-1ba5-402f-b5a1-18167a97cd7b

Also, if I try to record another game after making a video on this laptop, the D3D9 build outputs a file with no video track. It just records the audio. I have to restart puNES to create a new video.

If you can't reproduce any of these issues, maybe it's better not to spend any more time on this. People affected by it can just use OpenGL instead.

punesemu commented 9 months ago

Also, if I try to record another game after making a video on this laptop, the D3D9 build outputs a file with no video track. It just records the audio. I have to restart puNES to create a new video.

Fixed with c360583.

punesemu commented 9 months ago

Hi André, can you test this version?

punesemu commented 9 months ago

Updated the version.

anewuser commented 9 months ago

I tried the new v0.111 release and the executable on Dropbox, and both output glitchy videos like the example on #373.

The OpenGL version still works.