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


Recommended Posts

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"?

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

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

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).

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.

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.

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.

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.

...

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.

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

*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.

  • 1 month later...

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.

@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

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

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.

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.)

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?

*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.

*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:)

This topic is now closed to further replies.
  • Posts

    • PotPlayer 260622 by Razvan Serea PotPlayer is an extremely light-weight multimedia player for Windows. It feels like the KMPlayer, but is in active development. Supports almost every available video formats out there. PotPlayer contains internal codecs and there is no need to install codecs manually. Other key features include WebCam/Analog/Digital TV devices support, gapless video playback, DXVA, live broadcasting. Distinctive features of the player is a high quality playback, support for all modern video and audio formats and a built DXVA video codecs. A wide range of subtitles are supported and you are also able to capture audio, video, and screenshots. A comprehensive video and audio player, that also supports TV channels, subtitles and skins. Its been described on the Internet as The KMPlayer redux, and it pretty much is. Daum PotPlayer 260622 (1.7.22963) changelog: Removed Kakao TV Added pause function when navigating via the navigation bar Significantly improved internal stability Fixed an issue where colors appeared strange during RGB24 processing Improved playback for some HTTP streams Improved sync processing for the built-in audio renderer Fixed an issue where certain MP4 files behaved abnormally during playback Download: Daum PotPlayer (64-bit) | 54.7 MB (Freeware) Download: Daum PotPlayer (32-bit) | 61.1 MB View: Daum PotPlayer Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Tixati 3.44 is out.
    • Speccy 1.34.084 by Razvan Serea Speccy will give you detailed statistics on every piece of hardware in your computer. Including CPU, Motherboard, RAM, Graphics Cards, Hard Disks, Optical Drives, Audio support. Additionally Speccy adds the temperatures of your different components, so you can easily see if there's a problem! Processor brand and model Hard drive size and speed Amount of memory (RAM) Graphics card Operating system At first glance, Speccy may seem like an application for system administrators and power users. It certainly is, but Speccy can also help normal users, in everyday computing life. If you need to add more memory to your system, for example, you can check how many memory slots your computer has and what memory's already installed. Then you can go out and buy the right type of memory to add on or replace what you've already got. Download: Speccy 1.34.084 | 20.5 MB (Freeware) View: Speccy Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • ImgDrive 2.2.7 by Razvan Serea ImgDrive is a CD/DVD/BD emulator - a tool that allows you to mount optical disc images by simply clicking on them in Windows Explorer. If you have downloaded an ISO image and want to use it without burning it to a blank disc, ImgDrive is the easiest way to do it. ImgDrive features: One-click mounting of iso, cue, nrg, mds/mdf, ccd, isz images Runs on 32-bit and 64-bit Windows versions Mount ape, flac, m4a, wav, wavpack, tta file as AUDIO CD (16-bit/44.1kHz) Mount a folder as DVD/BD Mount images in command line Does not require rebooting after installation Support up to 7 virtual drives at the same time Support multi session disc image (ccd/mds/nrg) A special portable version is available Translated to more than 10 languages Support File Type: .ccd - CloneCD image files .cue - Cue sheets files of ape/flac/m4a/tta/wav/wv/bin .iso - Standard ISO image files .isz - Compressed ISO image files .nrg - Nero image files .mds - Media descriptor image files ImgDrive 2.2.7 changelog: Added command line parameter to set number of drives Added AACS-Auth support for HD DVD Bumped kernel driver version to 2.2.7 Download: ImgDrive 2.2.7 | 692 KB (Freeware, paid upgrade available) Download: ImgDrive Portable 535 KB View: ImgDrive Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • AnyDesk 9.7.7 by Razvan Serea AnyDesk is a fast remote desktop system and enables users to access their data, images, videos and applications from anywhere and at any time, and also to share it with others. AnyDesk is the first remote desktop software that doesn't require you to think about what you can do. CAD, video editing or simply working comfortably with an office suite for hours are just a few examples. AnyDesk is designed for modern multi-core CPUs. Most of AnyDesk's image processing is done con­currently. This way, AnyDesk can utilize up to 90% of modern CPUs. AnyDesk works across multiple platforms and operating systems: Windows, Linux, Free BSD, Mac OS, iOS and Android. Just 7 megabytes - downloaded in a glimpse, sent via email, or fired up from your USB drive, AnyDesk will turn any desktop into your desktop in se­conds. No administrative privileges or installation needed. AnyDesk 9.7.7 fixes: Fixed an issue that prevented users from creating meetings without an active license Download: AnyDesk 9.7.7 | 8.0 MB (Free for private use, paid upgrade available) Links: AnyDesk Home Page | Other platforms | Release History | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Dedicated
      tuben earned a badge
      Dedicated
    • Week One Done
      mnsgroup earned a badge
      Week One Done
    • Conversation Starter
      sumytbe earned a badge
      Conversation Starter
    • One Year In
      B4dM1k3 earned a badge
      One Year In
    • One Year In
      DarkWun earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      522
    2. 2
      +Edouard
      199
    3. 3
      PsYcHoKiLLa
      94
    4. 4
      Michael Scrip
      82
    5. 5
      Steven P.
      67
  • Tell a friend

    Love Neowin? Tell a friend!