Hello, i am writting an OpenGL program using C++ .NET, in a mixed app (managed and no-managed code), and, at the moment, i don’t see much diference in the FPS, but a real thing is that .NET slows down the app a bit.
I am using Windows Forms, and two opengl contexts (i am rendering to two Panels (512x512 and 256x256)), with an AMD 1Ghz and 3dLabs vp560 card i get near 600 fps ‘simultaneoulsy’ in the two contexts (both rendering at the form idle time). I doesn’t throwing a lot of vertices, only about 1400.
[This message has been edited by Ffelagund (edited 01-13-2004).]
I had to learn C#/OpenGl for a recent client and it was pretty painless.
The biggest hassle was dealing with managed data structures vs. OGL’s pointers, which gets very annoying with all the ‘fixed’ blocks. I wound up having to use C# like C++ in many cases, making unmanaged structures with a custom memory allocator.
So the net effect is that the OGL portions of the code are about as fast as C++, but gain nothing from C#'s extra management.
The thing I did not try was initializing extensions. Importing from DLLs is easy, but I didn’t see an easy way to set up function pointers (it could be easy – I just didn’t have time to explore it).
I’m moving this thread to the windows-specific forum…
I think you should really just forget about speed and use whatever lets you be the most productive. I really don’t expect the choice of language to make much of a difference unless you plan to do really CPU-intensive (i.e. non-graphics) stuff.