Hi Lloyd,
A .Net application incurs a certain amount of overhead from the platform it
runs on. Garbage Collection is an excellent way to avoid memory leaks, but
it also means that memory is not de-allocated as swiftly as in a traditional
C or C++ app. In addition, as C and C++ are basically the same language, and
a low-level language at that, any app written with C or C++ is going to
perform better than an app written using the .Net platform.
That said, the .Net platform has many methods of optimization built into it,
and a managed app can run quite fast. Specifically with regards to graphics,
I have found it necessary from time to time to use unsafe C code in my
managed applications, and when used appropriately, my apps run at a quite
acceptable pace, nearly as fast as a native C or C++ app.
I have also built apps using the Managed DirectX class libraries, and found
them to run at an excellent framerate. Again, the judicious use of unmanaged
code where appropriate is the key.
--
HTH,
Kevin Spencer
Microsoft MVP
..Net Developer
A watched clock never boils.
"Lloyd Dupont" <net.galador@ld> wrote in message
news:%2******************@tk2msftngp13.phx.gbl...
Although you ask only people with experience in that, do I think that you
have as well to tell experience in what kind of end product.
Actually I'm porting a a MacOSX application which do heavy 2D graphics
GDI+.
Basically it edit/display a MindMap "a document" (a bunch of related
shapes/text/image) a bit like, uh.. like Visio?
Heaps of Graphics.
Aside from GDI+ "slowness" (I haven't noticed anything) will I be better
doing that in pure C++?
Further later I intend to write (for fun) a mini-cad application to edit /
draw dungeon-house-terrain map.
Will C++ bring me anything?
In both case I doubt so but I will be curious to hear (convincing?) pro
C++ only argument. I know for sure that the nice GUI interface would be
overwhingly difficult to write in MFC (the few times I tryed in the past I
never really manage to get it)
Also I was toying with the idea to write my port of the SQLite (engine) to
.NET. Not just for the sake of it but both to learn underlying technology
and add a few feature of my own which I found lacking in the current C
implementation.
And I'm curious as to know what performance drop (informed) people will
predict me.
The managed code is build as Intermediate language. That processed by the
in the Net build in CLR. This with the exception from C++ that can be *as
well* used in the classic pre Net C++ way.
Maybe you think that this will cost time and memory. The opposite is
often true, mostly it creates more efficient code and is therefore
quicker and smaller (however not forever as I tried to show in the
beginning)..
I know ;-)