I have a C++ imaging library that I wrote have been using for years. In the unmanaged C++ domain, it is fast and robust having been used in several products over the last decade.
I have wrapped these imaging objects in managed C++ and for smaller images (<3Kx3K RGB) it is quite fine. I have a parallel C++ based win32 application that handles the same images much faster. For large raw scanned images, it has truly sucked. I have been very frustrated.
I really like the .NET environment for UI. However, the performance is killing me for my current application. I am thinking of writing a C++ based Windows service that takes commands from a .Net UI application. I can do all the calculations in native windows and provide a "rendered" or processed image after receiving a command from the NET application.
I do not know yet how to manage the rendered image in C# from the native service. Any ideas?