PDA

View Full Version : FPS difference between "Studio Monitor" and SDK Examples on multi-monitors.



mini7662
10-29-2018, 08:26 PM
Hello.

I created a video wall application (C# WPF) using the example of the NDI SDK 3.7 in Windows 10.

I used four graphics cards and 16 monitors to make up a 4 rows x 4 columns video wall.

When the NDI source (Scan Converter) is displayed in parts of the video wall (4 monitors or less),
The FPS hasn't dropped much.

When the NDI source (Scan Converter) is displayed on most (more than six monitors or a total of 16 monitors) of the video wall,
I found a big drop in the FPS. (It looks like 1 FPS.)

So I checked the "Studio Monitor" in tools.
"Studio Monitor" has not lost much FPS compared to my program when displayed on many monitors.
(It looks like it's over 15 FPS.)

The programs that I refer to are "Managed NDI Recv" and "WPF MediaElement Receiver" in Examples/CSharp.
Both programs have a significant FPS drop compared to "Studio Monitor" when displayed on many monitors..

I think this has to do with the ability to draw between graphics cards rather than decoding.
Why and how can "Studio Monitor" display a better FPS?

In the "Studio Monitor" program location (C:\Program Files\NewTek\NewTek NDI 3.7 Tools\Studio Monitor)
There is a "FrameWork.OpenGL.AllCPUs.x64.dll" file.

If this dll is the solution to this problem, then I would like to have an Examples to use this dll.
or Please help me if you know how to increase the FPS on multiple monitors.

Thank you.
Sang-Min Kim.

IanShade
11-01-2018, 01:15 PM
WPF isn't ideal for this sort of thing. You should consider using OpenGL or DirectX (and/or maybe DirectShow) directly in your application for the best performance. The dll you located means that Studio Monitor is based on OpenGL but I don't think you can use this dll because it is proprietary and not a part of the SDK.

mini7662
11-15-2018, 07:22 PM
Thank you for your feedback. I have used the DirectX SDK in VC++, but I know that DirectX technology (D2D, D3D) is also available in WPF. I'm going to try it.