I know that's an old dirty issue; GDI+ almost -the slowest part of the
framework - has bothered many developers using it in animations. Even in
managed C++ the performance is awful.
Now, any dude out there does know any thing about this issue in VS 2005 +
..NET 2.0 ? Has Microsoft solved this performance problem, or we will have to
again stick to that DX for simple animations in our applications?
( and since Microsoft doesn't support DDraw any more, and also because
managed DX9 SDK is unimaginable for download -200mb - via modem, we have to
really stick to the old DX7, which many users don't have, and which makes
our application quiet big in size.)
Thank for help 10 2556
Hi,
"**ham" <fr****@hotmail s.com> wrote in message
news:el******** ******@TK2MSFTN GP11.phx.gbl... I know that's an old dirty issue; GDI+ almost -the slowest part of the framework - has bothered many developers using it in animations. Even in managed C++ the performance is awful.
It doesn't matter what language you use when the bottleneck is within
managed library, does it?
Now, any dude out there does know any thing about this issue in VS 2005 + .NET 2.0 ? Has Microsoft solved this performance problem, or we will have to again stick to that DX for simple animations in our applications? ( and since Microsoft doesn't support DDraw any more, and also because managed DX9 SDK is unimaginable for download -200mb - via modem, we have to really stick to the old DX7, which many users don't have, and which makes our application quiet big in size.)
Actually, DX9 redistributable (note *not* SDK as end-user doesn't need SDK)
is quite significantly smaller - around 36Mb if I am not mistaken and it is
a way to go for animations IMO.
And you don't need DDraw - using DirectX3D is actually better and perhaps
easier.
--
Miha Markic [MVP C#] - RightHand .NET consulting & development
SLODUG - Slovene Developer Users Group www.rthand.com
Thank for help
They are adding another type of back buffer, that is supposed to be faster
for explicit double buffering, and new text drawing functions. I believe
that is it.
The performance is not awful for simple animations. GDI+ must be used
carefully for good performance, it is true, but once you do that, the
performance is fine in most cases. It depends how many pixels you are
animating at once, and how you optimize the screen updates. Make sure you
only redraw the pixels you need to redraw.
Regards,
Frank Hileman
check out VG.net: http://www.vgdotnet.com
Animated vector graphics system
Integrated Visual Studio .NET graphics editor
"**ham" <fr****@hotmail s.com> wrote in message
news:el******** ******@TK2MSFTN GP11.phx.gbl... I know that's an old dirty issue; GDI+ almost -the slowest part of the framework - has bothered many developers using it in animations. Even in managed C++ the performance is awful. Now, any dude out there does know any thing about this issue in VS 2005 + .NET 2.0 ? Has Microsoft solved this performance problem, or we will have to again stick to that DX for simple animations in our applications? ( and since Microsoft doesn't support DDraw any more, and also because managed DX9 SDK is unimaginable for download -200mb - via modem, we have to really stick to the old DX7, which many users don't have, and which makes our application quiet big in size.) Thank for help
One more thing: they are getting right of expensive calls to Enum.IsDefined
throughout System.Drawing, thanks to my complaints.
- Frank
Actually GDI+ is not part of the framework at all - its an unmanaged library
with a thin managed wrapper. Just in case you think that might solve your
problem, its also pretty darned slow when called directly from unmanaged
code.
Cheers
Doug Forster
"**ham" <fr****@hotmail s.com> wrote in message
news:el******** ******@TK2MSFTN GP11.phx.gbl... I know that's an old dirty issue; GDI+ almost -the slowest part of the framework - has bothered many developers using it in animations. Even in managed C++ the performance is awful. Now, any dude out there does know any thing about this issue in VS 2005 + .NET 2.0 ? Has Microsoft solved this performance problem, or we will have to again stick to that DX for simple animations in our applications? ( and since Microsoft doesn't support DDraw any more, and also because managed DX9 SDK is unimaginable for download -200mb - via modem, we have to really stick to the old DX7, which many users don't have, and which makes our application quiet big in size.) Thank for help
The base problem is whereas the old GDI was graphics card accelerated GDI+
isn't. The "bonus" is that if you can get acceptable performance, you can
get it on any PC. With some knowledge of the system bottlenecks, performance
for business type of applications such as charting, diagramming etc can be
acceptable. For game type apps and large animations etc, managed DX9 is the
recommended route.
You seem to be concerned about a DX download/redistributable but keep in
mind that most users will also have to download .NET framework
redistibutable anyway.
James
--
Create interactive diagrams and flowcharts with ERM Diagram at http://www.crainiate.net
Take the ERM Tour at http://www.flowchartcontrol.com
"**ham" <fr****@hotmail s.com> wrote in message
news:el******** ******@TK2MSFTN GP11.phx.gbl... I know that's an old dirty issue; GDI+ almost -the slowest part of the framework - has bothered many developers using it in animations. Even in managed C++ the performance is awful. Now, any dude out there does know any thing about this issue in VS 2005 + .NET 2.0 ? Has Microsoft solved this performance problem, or we will have to again stick to that DX for simple animations in our applications? ( and since Microsoft doesn't support DDraw any more, and also because managed DX9 SDK is unimaginable for download -200mb - via modem, we have to really stick to the old DX7, which many users don't have, and which makes our application quiet big in size.) Thank for help
The case of supporting GDI+ by hardware is quiet absord. How should i expect
my costumers to buy the latest graphic cards (or update their drivers) while
the applications with GDI* drawings commonly don't have purposes of their DX
counterparts ( like heavy games). No one accepts to do so many system
changes for a simple (but neccessary) animation. Besides, i think it is the
duty of Microsoft to make thier GDI+ compatible with the common graphic
cards of the planet, because GDI+ is a very common technology and more
people will use it than DX.
"James Westgate" <ja***********@ nospam.nospam> wrote in message
news:uk******** ******@TK2MSFTN GP15.phx.gbl... The base problem is whereas the old GDI was graphics card accelerated GDI+ isn't. The "bonus" is that if you can get acceptable performance, you can get it on any PC. With some knowledge of the system bottlenecks, performance for business type of applications such as charting, diagramming etc can be acceptable. For game type apps and large animations etc, managed DX9 is the recommended route.
You seem to be concerned about a DX download/redistributable but keep in mind that most users will also have to download .NET framework redistibutable anyway.
James
-- Create interactive diagrams and flowcharts with ERM Diagram at http://www.crainiate.net
Take the ERM Tour at http://www.flowchartcontrol.com
"**ham" <fr****@hotmail s.com> wrote in message news:el******** ******@TK2MSFTN GP11.phx.gbl...I know that's an old dirty issue; GDI+ almost -the slowest part of the framework - has bothered many developers using it in animations. Even in managed C++ the performance is awful. Now, any dude out there does know any thing about this issue in VS 2005 + .NET 2.0 ? Has Microsoft solved this performance problem, or we will have to again stick to that DX for simple animations in our applications? ( and since Microsoft doesn't support DDraw any more, and also because managed DX9 SDK is unimaginable for download -200mb - via modem, we have to really stick to the old DX7, which many users don't have, and which makes our application quiet big in size.) Thank for help
The case of supporting GDI+ by hardware is quiet absurd. How should I expect
my costumers to buy the latest graphic cards (or update their drivers) while
the applications with GDI* drawings commonly don't have purposes of their DX
counterparts ( like heavy games). No one accepts to do so many system
changes for a simple (but necessary) animation. Besides, I think it is the
duty of Microsoft to make their GDI+ compatible with the common graphic
cards of the planet, because GDI+ is a very common technology and more
people will use it than DX.
( i wonder if they have already done this for their framework....Ma c. is the
case)
"James Westgate" <ja***********@ nospam.nospam> wrote in message
news:uk******** ******@TK2MSFTN GP15.phx.gbl... The base problem is whereas the old GDI was graphics card accelerated GDI+ isn't. The "bonus" is that if you can get acceptable performance, you can get it on any PC. With some knowledge of the system bottlenecks, performance for business type of applications such as charting, diagramming etc can be acceptable. For game type apps and large animations etc, managed DX9 is the recommended route.
You seem to be concerned about a DX download/redistributable but keep in mind that most users will also have to download .NET framework redistibutable anyway.
James
-- Create interactive diagrams and flowcharts with ERM Diagram at http://www.crainiate.net
Take the ERM Tour at http://www.flowchartcontrol.com
"**ham" <fr****@hotmail s.com> wrote in message news:el******** ******@TK2MSFTN GP11.phx.gbl...I know that's an old dirty issue; GDI+ almost -the slowest part of the framework - has bothered many developers using it in animations. Even in managed C++ the performance is awful. Now, any dude out there does know any thing about this issue in VS 2005 + .NET 2.0 ? Has Microsoft solved this performance problem, or we will have to again stick to that DX for simple animations in our applications? ( and since Microsoft doesn't support DDraw any more, and also because managed DX9 SDK is unimaginable for download -200mb - via modem, we have to really stick to the old DX7, which many users don't have, and which makes our application quiet big in size.) Thank for help
The point James was making is that generally it doesn't matter which
graphics card you have, performance is all the same using GDI+. If you can
get good performance on one card by knowing the system and recognising where
the bottlenecks are you can get that same performance on all cards.
AFAIK *only* matrox has a GDI+ acellerated card and I don't even know what
model it is.
--
Bob Powell [MVP]
Visual C#, System.Drawing
Find great Windows Forms articles in Windows Forms Tips and Tricks http://www.bobpowell.net/tipstricks.htm
Answer those GDI+ questions with the GDI+ FAQ http://www.bobpowell.net/faqmain.htm
All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.
"main(){};" <it**********@h otmails.com> wrote in message
news:O6******** ******@TK2MSFTN GP12.phx.gbl... The case of supporting GDI+ by hardware is quiet absord. How should i
expect my costumers to buy the latest graphic cards (or update their drivers)
while the applications with GDI* drawings commonly don't have purposes of their
DX counterparts ( like heavy games). No one accepts to do so many system changes for a simple (but neccessary) animation. Besides, i think it is
the duty of Microsoft to make thier GDI+ compatible with the common graphic cards of the planet, because GDI+ is a very common technology and more people will use it than DX.
"James Westgate" <ja***********@ nospam.nospam> wrote in message news:uk******** ******@TK2MSFTN GP15.phx.gbl... The base problem is whereas the old GDI was graphics card accelerated
GDI+ isn't. The "bonus" is that if you can get acceptable performance, you
can get it on any PC. With some knowledge of the system bottlenecks, performance for business type of applications such as charting, diagramming etc can be acceptable. For game type apps and large
animations etc, managed DX9 is the recommended route.
You seem to be concerned about a DX download/redistributable but keep in mind that most users will also have to download .NET framework redistibutable anyway.
James
-- Create interactive diagrams and flowcharts with ERM Diagram at http://www.crainiate.net
Take the ERM Tour at http://www.flowchartcontrol.com
"**ham" <fr****@hotmail s.com> wrote in message news:el******** ******@TK2MSFTN GP11.phx.gbl...I know that's an old dirty issue; GDI+ almost -the slowest part of the framework - has bothered many developers using it in animations. Even
in managed C++ the performance is awful. Now, any dude out there does know any thing about this issue in VS 2005
+ .NET 2.0 ? Has Microsoft solved this performance problem, or we will
have to again stick to that DX for simple animations in our applications? ( and since Microsoft doesn't support DDraw any more, and also because managed DX9 SDK is unimaginable for download -200mb - via modem, we
have to really stick to the old DX7, which many users don't have, and which
makes our application quiet big in size.) Thank for help
It isn't absurd to support GDI+ in hardware at all. It *isn't*
supported by most, which is why it is slow on most machines. If it were
supported in hardware, it would be faster. There wouldn't be any change
to existing machine's current performance.
Times change, and so does technology. Sometimes, in order to move
forward, you'll have to sacrifice backwards compatibility. Look at what
Apple did with MacOS X, it seems to be working out quite well for them.
main(){}; wrote: The case of supporting GDI+ by hardware is quiet absurd. How should I expect my costumers to buy the latest graphic cards (or update their drivers) while the applications with GDI* drawings commonly don't have purposes of their DX counterparts ( like heavy games). No one accepts to do so many system changes for a simple (but necessary) animation. Besides, I think it is the duty of Microsoft to make their GDI+ compatible with the common graphic cards of the planet, because GDI+ is a very common technology and more people will use it than DX. ( i wonder if they have already done this for their framework....Ma c. is the case)
"James Westgate" <ja***********@ nospam.nospam> wrote in message news:uk******** ******@TK2MSFTN GP15.phx.gbl...
The base problem is whereas the old GDI was graphics card accelerated GDI+ isn't. The "bonus" is that if you can get acceptable performance, you can get it on any PC. With some knowledge of the system bottlenecks, performance for business type of applications such as charting, diagramming etc can be acceptable. For game type apps and large animations etc, managed DX9 is the recommended route.
You seem to be concerned about a DX download/redistributable but keep in mind that most users will also have to download .NET framework redistibutabl e anyway.
James
-- Create interactive diagrams and flowcharts with ERM Diagram at http://www.crainiate.net
Take the ERM Tour at http://www.flowchartcontrol.com
"**ham" <fr****@hotmail s.com> wrote in message news:el****** ********@TK2MSF TNGP11.phx.gbl. ..
I know that's an old dirty issue; GDI+ almost -the slowest part of the framework - has bothered many developers using it in animations. Even in managed C++ the performance is awful. Now, any dude out there does know any thing about this issue in VS 2005 + .NET 2.0 ? Has Microsoft solved this performance problem, or we will have to again stick to that DX for simple animations in our applications? ( and since Microsoft doesn't support DDraw any more, and also because managed DX9 SDK is unimaginable for download -200mb - via modem, we have to really stick to the old DX7, which many users don't have, and which makes our application quiet big in size.) Thank for help
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: James dean |
last post by:
From what i have read and seen the JIT compiler is very efficient and
only compiles that code that it needs at runtime therefore it helps, not
hinders performance. Does the JIT compiler make Gdi+ slower in any way?.
*** Sent via Developersdex http://www.developersdex.com ***
|
by: James dean |
last post by:
I have heard that the video drivers in GDI+ are a big performance issue.
But is this only an issue with something like Games Programming i
think...is this wrong?. What about a drawing application just drawing
simple one dimensional shapes(Polygons,beziers,polylines etc...) are
these video drivers still useful for this?. If the video drivers are not
a problem then is there any other performance problems that would be
disastrous for a...
|
by: James dean |
last post by:
Could someone explain how this works. I think the graphics card is used
to do blitting and drawing shapes like rectangles. How does it draw
using the Graphics card on the PC and why is this feature left out of
GDI+?.
*** Sent via Developersdex http://www.developersdex.com ***
|
by: |
last post by:
We create VC++ programs that does some GDI drawing functionality.
I discovered GDI+ and this seems to be a big step forward, and appears to be
standard available in Windows XP and Windows Server 2003.
But since .NET also uses it, does that mean that it gets automatically
installed when I install a .NET framework on a Windows 2000?
|
by: Phillip N Rounds |
last post by:
I have an application which is heavily graphics intensive, all the graphics
being custom.
Scattered throughout by app, I have
MyView->OnDraw( this->GetDC() );
Apparently, each call to this->GetDC() creates a GDI object and, 16,000 or
so calls to OnDraw() results in the Application hanging because it can no
longer create any new GDI objects ( I know, 16,384 )
| |
by: **ham |
last post by:
I know that's an old dirty issue; GDI+ almost -the slowest part of the
framework - has bothered many developers using it in animations. Even in
managed C++ the performance is awful.
Now, any dude out there does know any thing about this issue in VS 2005 +
..NET 2.0 ? Has Microsoft solved this performance problem, or we will have to
again stick to that DX for simple animations in our applications?
( and since Microsoft doesn't support DDraw...
|
by: David Lozzi |
last post by:
Howdy,
I have a function that uploads an image and that works great. I love ..Nets built in upload, so much easier than 3rd party uploaders!
Now I am making a public function that will take the path of the uploaded image, and resize it with the provided dimensions. My function is below. The current function is returning an error when run from the upload function: A generic error occurred in GDI+. Not sure what exactly that means. From what...
|
by: Marcin Rzeznicki |
last post by:
Hello,
Do you think it is legitimate practice to mix GDI+ and GDI calls (via
Get/ReleaseHDC()) in paint event of a control? I've heard there is
possibility of performance loss while "locking" Graphics object which
is done as a side-effect to GetHDC() call - could you confirm? Another
question that comes to my mind when planning mentioned operation is: if
the control painted on uses double-buffering style, will GDI calls make
use of "back...
|
by: James Wong |
last post by:
Hi everybody,
I'm facing a serious trouble relating to GDI+ generic error. The error
message is "A Generic error occured in GDI+" and the following information
is stored in Excepton object:
System.Drawing.Graphics.CheckErrorStatus(Int32 status)
System.Drawing.Graphics.DrawString(String s, Font font, Brush brush,
RectangleF layoutRectangle, StringFormat format)
System.Drawing.Graphics.DrawString(String s, Font font, Brush brush,
PointF...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
| |
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
| |
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |