Did you know: All GDI apps render slower under Win7?


Recommended Posts

Max Norris
What?? GDI and the Win32 API's are official. The Direct*D API's are not a requirement to build Windows GUI's. You do know that right?

Uh yea they are if you're wanting to build against Direct2D, what you were whining about being so difficult in the first place, hence "refusing to use the APIs"?

Link to post
Share on other sites
england_fanboy

What?? GDI and the Win32 API's are official. The Direct*D API's are not a requirement to build Windows GUI's. You do know that right?

MSDN clearly says one should no longer use GDI for Windows programs:

Technologies that are obsolete and should not be used in new applications.

This is what MSDN says about GDI (legacy graphics).

http://msdn.microsoft.com/en-us/library/ee663279(v=VS.85).aspx

Link to post
Share on other sites
Joey S

Uh yea they are if you're wanting to build against Direct2D, what you were whining about being so difficult in the first place, hence "refusing to use the APIs"?

And why would I want to build against Direct2D when I'm coding in C?

Link to post
Share on other sites
Max Norris
And why would I want to build against Direct2D when I'm coding in C?

And round in circles we go. Oh I don't know, programming new projects for current technology appropriate to the platform versus legacy/depreciated stuff that's getting phased out maybe? If your tools of choice aren't up to the job, it might be time to consider switching to something more appropriate to the platform.

MSDN clearly says one should no longer use GDI for Windows programs:

This is what MSDN says about GDI (legacy graphics).

http://msdn.microsof...e663279(v=VS.85).aspx

Link's busted, fixed it for you. MSDN

Link to post
Share on other sites
Joey S

MSDN clearly says one should no longer use GDI for Windows programs:

This is what MSDN says about GDI (legacy graphics).

http://msdn.microsof...e663279(v=VS.85).aspx

Ignoring the fact that that page won't load, I, as a developer, wish to target both XP and Windows 7, so GDI is the best solution because it's supported on both platforms, unlike Direct2D. It's built right into the Win32 API, unlike the Direct*D interfaces, which are separate and use COM (horrible to use from most language bindings).

Link to post
Share on other sites
england_fanboy

Ignoring the fact that that page won't load, I, as a developer, wish to target both XP and Windows 7, so GDI is the best solution. It's built right into the Win32 API, unlike the Direct*D interfaces, which are separate and use COM (horrible to use from most language bindings).

There is absolutely no excuse for sticking to plain C Win32 API any more. The whole world is moving on. C++/C# is the way forward. Plain C is simply not good enough for today's complex programming needs.

Link to post
Share on other sites
Joey S

There is absolutely no excuse for sticking to plain C Win32 API any more.

That's what 99% of WIndows programs use lol.

The whole world is moving on. C++/C# is the way forward. Plain C is simply not good enough for today's complex programming needs.

No thanks. I prefer patent unencumbered programming languages like Python, Java, Perl to C#. As far as C++ goes, If I want to use a OO design pattern, again, i'll use Java or Python. I really don't see a use for C++ these days.

Link to post
Share on other sites
england_fanboy

That's what 99% of WIndows programs use lol.

LOL! Are you living in 1993? Almost no Windows programs are written in plain-C any more.

No thanks. I prefer patent unencumbered programming languages like Python, Java, Perl to C#. As far as C++ goes, If I want to use a OO design pattern, again, i'll use Java or Python. I really don't see a use for C++ these days.

C# is the most elegant programming language in the world. That's why its popularity is rising exponentially. If you prefer native code instead, C++ is great. But Java is the worst programming language in the history of mankind. It's a complete mess, a lot like Android.

Link to post
Share on other sites
Joey S

LOL! Are you living in 1993? Almost no Windows programs are written in plain-C any more.

The Win32 API, not C. Reading comprehension?

C# is the most elegant programming language in the world.

Cool story. Bro.

That's why its[C#] popularity is rising exponentially.

Really? From what I've read, It hasn't made an impact. This could be attributed to the fact that it's locked down to Windows of course. I prefer to write portable code.

If you prefer native code instead, C++ is great. But Java is the worst programming language in the history of mankind. It's a complete mess, a lot like Android.

Java is the language of choice for Android, Nuff said.

Link to post
Share on other sites
The_Decryptor

...

It's built right into the Win32 API, unlike the Direct*D interfaces, which are separate and use COM (horrible to use from most language bindings).

Uh, COM and Direct2D (And DirectWrite/Direct3D/etc.) are part of Win32.

Link to post
Share on other sites
Tilt090

so its decided win7 is slower eh.. and since people will continue to develop for gdi its a no brainer to move to the faster os ... snicker snicker...

Link to post
Share on other sites
Aethec
No thanks. I prefer patent unencumbered programming languages like Python, Java, Perl to C#. As far as C++ goes, If I want to use a OO design pattern, again, i'll use Java or Python. I really don't see a use for C++ these days.

Don't tell me you've never read Gosling's explanation about how they had to patent everything at Sun, and how they made contests of who got the most stupid patent?

Fact: If someone tells you his creation is not patent-encumbered, that doesn't mean it isn't. Look at Android and WebM.

Really? From what I've read, It hasn't made an impact. This could be attributed to the fact that it's locked down to Windows of course. I prefer to write portable code.

*cough* dotGNU *cough* Mono *cough*

Also, http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Link to post
Share on other sites
Joey S

*cough* dotGNU *cough* Mono *cough*

Also, http://www.tiobe.com...tpci/index.html

Both of which have fallen into disuse and have questionable compatibility with Microsoft's implementation, as evidenced by Canonical's recent decision to exclude Mono from future Ubuntu releases.

Link to post
Share on other sites
  • 1 month later...
pcunite

Thanks for this post, I thought I was the only one noticing this.

I use a certain application maximized on my Windows 7 x64 workstation having upgraded from Windows XP. The application shows objects, about 200 of them on screen, and when I go to scroll, it is noticeably slower and somewhat flicky under Windows 7. Since the developer must support XP I doubt I'll see any improvement for a long time. Would be better for MS to fix this.

Link to post
Share on other sites
The_Decryptor

There's nothing for MS to fix, it's up to the developer to make their program work properly.

Link to post
Share on other sites
Brandon H

@Joey S and @Tilt090

not to sound rude (unlike Tilt sounds from my perspective)

but grow up and stop living in the past. Things change, in the world of technology you need to learn to adapt

Link to post
Share on other sites
ArialBlue

So if I get this straight, an application must use D2D/DW or suffer a major performance drop on post-XP era Windows?

Link to post
Share on other sites
Brandon H

So if I get this straight, an application must use D2D/DW or suffer a major performance drop on post-XP era Windows?

where are you getting the "major" from? as has been stated, it's a barely noticeable performance drop under most hardware
Link to post
Share on other sites
The_Decryptor

The most important GDI operations are hardware accelerated under Windows 7, so the majority of users wouldn't notice any slowdowns.

The main problem with using GDI rendering is that it's pretty crappy, the speed has nothing to do with it.

Link to post
Share on other sites
PGHammer

so its decided win7 is slower eh.. and since people will continue to develop for gdi its a no brainer to move to the faster os ... snicker snicker...

And consider how old GDI is.

GDI goes back to 9x/NT4 - and was optimized to GDI+ in ME/2K Professional.

GDI+ is a crapton faster than GDI - and that was merely in ME and Windows 2000 Professional. GDI+ had one major issue (which it still has) - backward-compatibility issues with GDI-only displays.

How many GDI-only applications are there today?

And isn't that reality still the case with those GDI-only applications that exist today? (Backward-compatibility with older versions of Windows.)

The only GDI-only application I even know of is *Opera* - which is designed with WayBack compatibility first and foremost. (Even Mozilla isn't GDI-only, and hasn't been on Windows for a while.)

Not one messaging client is GDI-only. (That includes Facebook Messenger, by the way.)

Link to post
Share on other sites
The_Decryptor

GDI+ is a software version of GDI that can do AA (One big difference), it's often quite slower than GDI.

Link to post
Share on other sites
ArialBlue

Any 8 vs 7 benchmarks on this topic?

Link to post
Share on other sites
PGHammer

GDI+ is a software version of GDI that can do AA (One big difference), it's often quite slower than GDI.

*Often quite slower* on what hardware?

On low-end- non-accelerated onboard graphics of the G41 (Intel) or earlier sort?

Link to post
Share on other sites
HawkMan

*Often quite slower* on what hardware?

On low-end- non-accelerated onboard graphics of the G41 (Intel) or earlier sort?

Adding software AA to stuff makes it slower on ANY kind of hardware. the difference is wether you hardware is fast enough for you not to notice or not.

Link to post
Share on other sites
The_Decryptor

*Often quite slower* on what hardware?

On low-end- non-accelerated onboard graphics of the G41 (Intel) or earlier sort?

The GPU doesn't come into it since GDI+ runs on the CPU, you could have a GTX 570 or a simple framebuffer device, GDI+ will still be slower in most cases (GDI+ might win when it comes to 32bit textures, but only because GDI doesn't support them "well" :laugh:)

Link to post
Share on other sites
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By KaoDome
      So here's some insight, I have to install Windows 7 in an old machine since that's what my friend prefers. Given the myriad of updates there are for that OS right now I was wondering what would be the quickest route to a fully updated system, in essence, installing the less updates possible.
       
      So far, starting from the refreshed image of SP1 I've done the following:
      - KB3004394: For the updated root certificates.
      - KB3020369: April 2015 Servicing Stack updated (+ the current version of the Windows Update agent).
      - KB2729094, KB2731771, KB2533623, KB2670838, KB2786081, KB2834140, KB2639308, KB2888049 & KB2882822: Pre-requisites for IE 11.
      - IE 11.
      - KB2685811 & KB2685813: For the 1.11 model drivers, not that it would matter for this system I think.
      - KB3125574: The convenience roll-up, brings things up to April 2016.
      - .NET 4.7.1.
       
      After that Windows Update is still showing my some 41 updates, some of which I think supersede others? (look at the top of the list of the capture I attached); so I'm thinking maybe installing one of those roll-ups would do the trick.
       
      I remember reading about Windows 7 going the way of cumulative updates of some sort and since there are some sysadmins among the members (although hopefully not making W7 large scale deployments already) I was wondering if there was a way of cutting the list down to less updates, or a best practices approach so to speak. There may already be some redundancy on what I did for now, but the default state was horrendous (150+ updates) and it's a 5400k RPM hard drive...
       
      Anyway, thanks for the read, any input is well received and appreciated. I'll edit the post tomorrow (6:42am here :S) with download links over those KBs in case somebody comes across this post and finds it useful.

    • By ShadowDefender
      Hello guys, whats up.
      I am in a desperate need of some professional solution from you. You see i have Win7 Ultimate (x32bit) edition installed in my PC.
      My machine came pre-installed with Win XP at first. I got a DVD from one of my friend and it was a Win 7 (x32bit) edition Starter Disc.
      Please see the image.

       
      I had made an image of Win 7 Ultimate (After inserting Anytime Upgrade Key from Starter to Ultimate) by the default Win7 Backup and Restore function.
      I have at least two image (Pretty useless because they already have this indexing problem) .
      But again recently that copy of Win 7 Ultimate went bad due to severe indexing problem due to enabling Hibernate function. I had to perform a lot of
      "chkdsk" function to set it right. Lets be plain and simple, my pc began to have errors, it became so bad that it showed continued BSOD (Blue Screen).
      So with the fear of it showing some sector problems. I had to reformat and install Win 7 again from Starter to Ultimate.
      Its really f****d up thing i have to do again and again. I am getting tired and old of these things.
      Really! i am getting old for these kind of things. But somewhere here in this post (This is the post) i saw the Activation Settings can be backed up.
      So i took time to search few tools like:
      ABR (Activation Backup and Restore) Website Advanced Tokens Manager 3.5 RC5 Website
      But these tools work on machine that came out of factory that has OEM license.
      I tried the first tool, it didn't work. It couldn't activate Win 7 and the second tool ask to install .Net Framework 4.0.30319.
      (Let me tell you i do not have a Activation key for Win7 Ultimate; that friend installed it once and his number count has expired too.)
      Which doesn't want to be installed in my PC. It says, "It cannot be installed in this version of Windows". Again pretty useless.
      Mine version of Win 7 ( if installed from a Disc will naturally fall on Retail version; Yes)
      I could restore those old image and backup those Win 7 Ultimate Activation Settings and apply it on the fresh copy of Win 7. Yes.
      So theoretically its possible but i am having difficulties finding those tools.
      What i want is, is there a possibility for me to do this.
       
      Awaiting your reply. I have only 3 more days to Activate again. I can again restore the image and do this again and again as i am not
      in hurry. But i am also not particularly fond of doing this again and again.
      Any suggestion would be of great help to me.
      I do not know if it can be done. Have you faced such situation.
       
       
       
    • By Deflektor
      I've had Win 7 installed for a long time and it's setup just the way I want, with lots of programs, shortcuts, etc. and I'd rather not mess it up. But I heard the Win 10 accessibility upgrade offer was ending soon, so I'd like to claim my license before I lose the opportunity.

      Is there any way to install Win 10 without affecting my Win 7 install? Like if I disconnect the Win 7 drive and install 10 on a fresh one or something? If I put my Win 7 key into the Win 10 installer, does the 7 license get revoked or will it continue to work?
       
      Thanks for any help
    • By ::Gomez::
      Hi! how are you guys?
       
      I am trying to delete a folder on windows but it says that the files are not there anymore.. but the folder remains there...
       
      here is an screenshot. 
       
      Any idea how can I force this to be deleted?
       
       
      Thanks!

    • By DrSAM
      i was a big fan of Micro XP.. and Tiny 7 ... micro xp was only 150 mb and Tiny 7 around 700 mb... now i am searching for windows 10 which is modded like this.. can please anyone help???
      win 10 is too bloated and complicated often..