PDA

View Full Version : vb .net image delay



ramoe
June 7, 2005, 15:12:42
I was posting to the wrong forum. Here is the same thread reposted:


vb .net image delay
I am developing an application in VB .net and when I run my filter graph in the Montivision workbench the renderer displays around 10 fps but in my VB application I get 4 to 6 fps. I tested the VB delay in a simple while loop to process an image with and without the trigger and with and without image display. Does anyone know how I can get the actuaul Montivision workbench frame rate?
---------------------------------------reply
Hello,

What are you doing in the image processing? Image processing in VB.NET is very slow, expecially, if every pixel is processed. The managed code of .NET performs many tests, whether all data are correct. This needs a lot of time. C# knows an "unsafe" section for this.

How do you display the live video? Without any processing IC Imaging Control should display the live video with are very small delay.


__________________
Best regards
Stefan
IC Imaging Control Support

-------------------------------my reponse
The actual image processing is done in my filter graph. VB is only accessing the results of the filter graph. The averageSyncOffset time of the renderer is ~ .240 ms, which is the average time delay I'm experiencing. My application does not require that I display the video. I replaced the video renderer with the null renderer and I think it is faster but the null renderer does not have any quality properties that I can look at to compare performance. Can I create a graph without a renderer.

----------------------------reply
I think, you are not working with IC Imaging Control but with Montivision. Therefore you should post here: http://www.theimagingsourceforums.c...p?s=&forumid=13
again.

Bernd Peretzke
June 9, 2005, 15:06:46
Hi,

Could you please describe your complete filter graph.

If you don't whant to have a video output use the Null Renderer filter. How do you get the results and what do you do with it. Maybe you have to many calls to the filter interface. COM interface calls aren't really fast in .NET.

Regards
Bernd

ramoe
June 14, 2005, 12:57:31
My filter graph uses a trigger source and an undistortion filter that feeds two branches. The first branch filters blue with a fast color filter and calculates blob properties with a blob counter. The second branch is a duplicate of the first branch except that it filters red pixels. The two branches are OR'd together and sent to the video renderer or a null renderer. I cannot get a frame count if I use a null renderer.

My VB .net application accesses the blob position and area data from the blob counters and the frame count from the video renderer. I get the center of mass and area values in my application to perform some calculations that take about 15 ms. I have numerous calls to the blob counters for each blob and I access these properties using the dot operator.

Bernd Peretzke
June 16, 2005, 13:02:24
Hi,

Could you please measure the total time for the calls to the blob counter. I will make a small benschmark for .NET calls to the filter.

Regards
Bernd Peretzke