English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   support.WinUAE (http://eab.abime.net/forumdisplay.php?f=5)
-   -   Slow video capture (http://eab.abime.net/showthread.php?t=65172)

hipoonios 22 July 2012 20:05

Slow video capture
I've tried the latest beta and it's great that we now can load save states of games using RTG and SEE the picture again :)

But I have another problem you might be able to fix...

I've upped Doom.uss to the Zone, it's a new save state with the RTG mode palette included. My new problem is: I can play the game in full 60fps smoothness with both the Direct3D and DirectDraw Graphics APIs in Miscellaneous, but when outputting to AVI using Direct3D, the fps goes down to about 4, but outputting with DirectDraw has no slowdowns (full 60fps). So I of course want to AVI capture with DirectDraw, BUT the AVI file only contains black frames (with sound), whereas the outputs with Direct3D has picture (but like I said, don't wanna use Direct3D as I get like 4fps when ouputting).

So, why does it only capture blackness with DirectDraw?

Toni Wilen 23 July 2012 07:57

Moved because it isn't really beta related..

Make sure "Capture before filtering" is ticked. (=record from UAE's internal memory buffer, not from VRAM)

hipoonios 23 July 2012 12:26

I always use Null filter when recording as it speeds things up a lot, and "Capture before filtering" yields the same result, just captures blackness. This only happens with RTG based games. I can play games that has more CPU and whatever demanding settings and content and record in full 50-60 fps with DirectDraw and Direct3D, but with RTG, it outputs to black. And with Direct3D it outputs to visible picture but slows the game play during the capture to about 4fps, it doesn't do this without RTG. So to me it isn't about the computer not being fast enough or the requirements of the game/settings.

Toni Wilen 23 July 2012 12:32

Ok... You didn't specifically mention it only happens in RTG.

hipoonios 23 July 2012 12:32

So it's not really about slow video capture in the sense I think you mean, it's about it not outputting visible frames. Settings Filters to none and/or using "Capture before filtering" doesn't make a difference, still just black frames in the AVI from using DirectDraw. However, the first frame in the AVI always show the game, the rest are black.


Originally Posted by Toni Wilen (Post 830381)
Ok... You didn't specifically mention it only happens in RTG.

Oh, sorry, my bad :)

hipoonios 23 July 2012 12:44

Another thing I just noticed:

1. If I output to AVI using DirectDraw, the frame rate during capture is 60fps (good), but the AVI only has the first frame with game footage, the rest are black.

2. If I output to AVI using Direct3D, the frame rate goes down to about 4fps during capture but the AVI has all frames with visible game footage.

Both these things has been mentioned before, but:

3. After I've tried capturing to AVI with DirectDraw, then change it to Direct3D and try outputting again, I get full 60fps during capture but all frames are black, so it's like setting back to Direct3D after having it on DirectDraw doesn't change it to Direct3D. After doing this, none of those two will give a visible game footage on the first frame, they are all black. It seems like only the first time you capture with DirectDraw you will get visible footage in the first frame. All attempts after that is just 100% all black frames and the emulator has to be restarted to be able to capture game footage of the first frame again. This is not really how we want it anyway, I know :), we want all frames to be capture with DirectDraw, but thought mentioning it might help with something.

hipoonios 23 July 2012 14:10

So I guess you load my Doom.uss from the Zone, capture with DirectDraw and see why the AVI is just black frames with sound.


hipoonios 23 July 2012 16:30


Ok, I can record with DirectDraw now and it captures visuals, not just black frames.

I first loaded my config, whatever changes I did it always resulted in black frames captured with DirectDraw. But then all of a sudden, I could capture properly with DirectDraw, no more black frames. So I saved this new config, restarted WinUAE and loaded it to try again, and yup, could capture properly now. So I opened another instance of WinUAE and loaded my old config where I couldn't capture and compared settings, pretty much the same on both, but changed the little that wasn't the same. So, after I did the changes to the old config I tried recording and, bleh, black frames, even though they are identical.

So, the problem was that in the old config, I always first ran my config with Direct3D, which BREAKS DirectDraw. So, if I start the emulation with Direct3D then change to DirectDraw, it will be black frames. If I INSTEAD start the emulation with DirectDraw, it works and no more black frames, but if I change back to Direct3D, resume emulation and change back to DirectDraw, it's black frames again.

So, if using Direct3D, DirectDraw will break and can't be used until you reset the emulation. Maybe this is not a bug and is intended and just common sense that OF COURSE one should reset the emulation if you want to use DirectDraw after you've used Direct3D, but it's just weird then that if you first use DirectDraw, you don't HAVE TO restart to use Direct3D, only the other way around.

Anyway, problem fixed and I can now record with DirectDraw:xmas

Toni Wilen 26 July 2012 19:53

It is just a "feature", video recording isn't supposed to be perfect :)

btw, RTG is always captured from real VRAM which explains the speed problem in D3D mode. Same problem when taking RTG screenshots.

Emulated VRAM RTG screenshots will be supported in next version, perhaps even video recording..

Toni Wilen 05 August 2012 15:15

Does latest beta (242b9+) work fast in D3D mode now? RTG is supported in "capture before filtering" mode.

hipoonios 05 August 2012 21:20

Yup, in D3D it captures 10 times faster now, but can't capture perfectly like I can with normal capture.

Like, if I use, let's say a normal a500 config, runs a game, captures, it will capture ALL 50 frames no matter how slow the computer is. If the computer is not fast enough, it will slow down the game play (playing in slowmotion), which is ok, as long as it captures all 50 frames and when playing the avi it's perfect. But when capturing with D3D, just like when capturing anything that uses rtg, it doesn't slow down, so it skips frames if the computer is not fast enough.

Also, with normal games (a500/a1200 config), I can set the FPS adj to 25fps, playing on half speed, which makes it easier to complete some games that needs super reflexes, but with RTG games, this FPS adj doesn't change anything.

Can you make it so that it can capture all frames by slowing down the game or whatever, just like it does with normal games like a500/a1200 config? And can you make it so that FPS adj work with RTG games?

It seems everytime the emulator emulates at 60fps, it's an RTG game, thus the FPS adj doesn't work. Non-RTG stuff is always on 50fps and the FPS adj works.

So, seems like capturing all frames by slowing down game play and using FPS adj doesn't work with RTG, only non-RTG.

But, anyway, D3D does capture much faster now, so good job :)

Toni Wilen 09 August 2012 12:35

RTG timing is separate from chipset which will make things difficult when capturing. Not sure if there are any easy solutions.

Toni Wilen 11 August 2012 11:20

FPS adj. only changes chipset timing, RTG is completely separate display board. Try manually typing refresh rate in Expansion panel refresh rate box. (Perhaps it works, not sure..)

2.4.2b11 should work slightly better, older versions captured RTG using chipset refresh rate which usually won't match RTG refresh rate.

Dopuser 11 August 2012 19:28


Shortly, what is the most optimum set up for video capturing then ?

All times are GMT +2. The time now is 16:01.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.

Page generated in 0.04287 seconds with 11 queries