Let me specify little background.
I currently use an open source program to run my TV Tuner (DScaler). The final version for the software has some support for Direct3D output, the problem with this is that it lags. I have been going through the code and reading through DirectX documentation trying to find a place to optimize the code so that rendering is as smooth of DirectX as it is on DirectDraw. Because the software has built in profiling for the critical display routines (lock buffer, unlock, flip, etc.) I know that when using Direct3D the point where it runs into trouble is in the overlay flipping part. I've come to the conclusion that Presenting to the D3Device is just too slow to keep up with the Tv tuner's capture and as a result I'm losing frames and not displaying them at the 29fps.
Since I don't know DirectX very well, my question is: Is Direct3d just not an optimal option for displaying video capture or is the problem simply that the code probably isn't the best it could be for it? I ask because I'm still interested in trying to find a way to make it work so I can display my capture on some streams (ie: Xfire).
Thanks.