aewarnick Posted August 29, 2003 Posted August 29, 2003 divil, you said this: The reason .NET programs are generally slower than their C++ counterparts is not because of slow executing code, but because a lot of .NET is still a wrapper to win32 functions. This won't always be the case though. How do you know and when do you think it will happen with the Graphics and Drawing part of the framework? Quote C#
pjv Posted August 30, 2003 Posted August 30, 2003 Hi, They have a team whose only responsibility is to improve the performance of the framework. As for Graphics, I suppose there might be support for hardware acceleration in future versions of GDI+ (which would be a vast improvement in speed), but GDI+ isn't managed code anyway, so it's not specifically part of .net (I believe). Pete Quote
*Experts* mutant Posted August 30, 2003 *Experts* Posted August 30, 2003 but GDI+ isn't managed code anyway, so it's not specifically part of .net (I believe). GDI+ is a part of the Framework, its built right into it. Quote
pjv Posted August 30, 2003 Posted August 30, 2003 I'm pretty sure GDI+ is unmanaged code.. the System.Drawing stuff is just wrappers for it. Check here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/gdiplus/gdiplus.asp Or a quote: "Microsoft Windows GDI+ is a class-based application programming interface (API) for C/C++ programmers" Which must mean it's unmanaged, or how would it be used by C programmers? Pete Quote
OnErr0r Posted August 31, 2003 Posted August 31, 2003 C++ programmers have a choice of using MC++ and the managed .net wrapper, or they could use the C++ classes written to wrap the gdiplus.dll directly. In VB5/6 you can use the exports of the gdiplus.dll as well. Quote
aewarnick Posted September 1, 2003 Author Posted September 1, 2003 Ok, you are all correct about GDI+ being part of the framework and a new api. What I am hoping is that this new api with improvements can be as fast as GDI is. Quote C#
pjv Posted September 2, 2003 Posted September 2, 2003 No. GDI+ is NOT part of the framework. It is a completely separate API (which is unmanaged). I've heard that there is a new version coming, but whether that will coincide or not with the next .NET release, I don't know. It is unlikely that it will work at GDI's speeds. Even if the next GDI+ version enables hardware vendors to accelerate it, it will be some time before graphics cards support it. It might be considerably faster than it is now, but it still won't work at GDI's speeds. Note that some graphics vendors claim their new cards are "GDI+ Accelerated". According to a recent thread on microsoft.public.dotnet.framework.drawing, all they can do is accelerate GDI (and therefore the parts of GDI+ that call GDI directly). Not too sure how reliable this info is (was posted by an ms employee, but not necessarily one working on GDI+). Pete Quote
*Experts* Volte Posted September 2, 2003 *Experts* Posted September 2, 2003 GDI+ is indeed a separate API library (it can be used from VB6 if you want, using COM wrappers), but I believe the .NET implementation is a set of managed wrappers for GDI+; although GDI+ itself is unmanaged, I believe the .NET wrappers are managed. Quote
aewarnick Posted September 2, 2003 Author Posted September 2, 2003 That is why it seems that GDI+ is part of the framework itself, because it is wrapped. Well, in a sence it is part of the framework;;;; it installs when you run the .net framework install file. I see your point though. Quote C#
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.