GDI+ performance issue

Discussion in 'ASP .Net' started by **ham, Dec 12, 2004.

  1. **ham

    **ham Guest

    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
     
    **ham, Dec 12, 2004
    #1
    1. Advertising

  2. Hi,

    "**ham" <frds_#@hotmails.com> wrote in message
    news:...
    >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
    >
    >
    >
     
    Miha Markic [MVP C#], Dec 12, 2004
    #2
    1. Advertising

  3. 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" <frds_#@hotmails.com> wrote in message
    news:...
    >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
    >
    >
    >
     
    Frank Hileman, Dec 12, 2004
    #3
  4. One more thing: they are getting right of expensive calls to Enum.IsDefined
    throughout System.Drawing, thanks to my complaints.
    - Frank
     
    Frank Hileman, Dec 12, 2004
    #4
  5. **ham

    Doug Forster Guest

    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" <frds_#@hotmails.com> wrote in message
    news:...
    >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
    >
    >
    >
     
    Doug Forster, Dec 12, 2004
    #5
  6. 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" <frds_#@hotmails.com> wrote in message
    news:...
    >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
    >
    >
    >
     
    James Westgate, Dec 12, 2004
    #6
  7. **ham

    main\(\){}; Guest

    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" <> wrote in message
    news:...
    > 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" <frds_#@hotmails.com> wrote in message
    > news:...
    >>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
    >>
    >>
    >>

    >
    >
     
    main\(\){};, Dec 13, 2004
    #7
  8. **ham

    main\(\){}; Guest

    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....Mac. is the
    case)

    "James Westgate" <> wrote in message
    news:...
    > 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" <frds_#@hotmails.com> wrote in message
    > news:...
    >>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
    >>
    >>
    >>

    >
    >
     
    main\(\){};, Dec 13, 2004
    #8
  9. 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(){};" <> wrote in message
    news:O6$...
    > 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" <> wrote in message
    > news:...
    > > 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" <frds_#@hotmails.com> wrote in message
    > > news:...
    > >>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
    > >>
    > >>
    > >>

    > >
    > >

    >
    >
     
    Bob Powell [MVP], Dec 13, 2004
    #9
  10. **ham

    Mike Newton Guest

    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....Mac. is the
    > case)
    >
    > "James Westgate" <> wrote in message
    > news:...
    >
    >>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" <frds_#@hotmails.com> wrote in message
    >>news:...
    >>
    >>>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
    >>>
    >>>
    >>>

    >>
    >>

    >
    >
    >
     
    Mike Newton, Dec 14, 2004
    #10
  11. "Mike Newton" <> wrote in message
    news:...
    > 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.
    >


    How many of our customers came crying up until about a year ago about our
    stuff not working under OS 9? :)
    MOST of them believed us when we told them it was a decision Apple made, and
    that we didn't think it was worth developing backwards, but I know a LOT of
    people didn't upgrade for years because popular apps wouldn't run under OS
    X. MS has always made backwards compatibility important to it, rightly or
    wrongly, and that doesn't look like changing any time soon.

    Steve
     
    Steve McLellan, Dec 14, 2004
    #11
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. James A Taber

    GDI+ Resizing image problem

    James A Taber, Jun 25, 2003, in forum: ASP .Net
    Replies:
    4
    Views:
    4,069
    James A Taber
    Jun 26, 2003
  2. Kevin Vaughn

    GDI+ and Image Maps

    Kevin Vaughn, Jul 11, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    422
    Kevin Vaughn
    Jul 11, 2003
  3. Alphonse Giambrone

    Generic Error in GDI+

    Alphonse Giambrone, Jul 30, 2003, in forum: ASP .Net
    Replies:
    2
    Views:
    5,657
    Alphonse Giambrone
    Jul 30, 2003
  4. Ervin

    Urgent! GDI+ Memory consumption

    Ervin, Sep 15, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    619
    Ervin
    Sep 15, 2003
  5. Robin van de Water [synthesiSFactory]

    GDI+ is not properly initialized (internal GDI+ error).

    Robin van de Water [synthesiSFactory], Jan 10, 2007, in forum: ASP .Net
    Replies:
    0
    Views:
    1,350
    Robin van de Water [synthesiSFactory]
    Jan 10, 2007
Loading...

Share This Page