Is it possible to speed up my VB6 application with new version of GDIPlus?

Posted on 2011-03-08
Last Modified: 2012-05-11
Hi experts!

Well, I’m not expect in GDIPlus application, but I have ready code I should maintain.  It is written in Vb6 and the primary task is to increase the speed of it as it does extensive render of different moving object and they not run smooth under XP.

So my idea is to update a version of GDI library used. Can somebody tell me can I expect better speed if I mange to update version? I need update of speed with 30-50 % , I use powerful CPU now however this doesn’t seem to help a lot.

I found a upper version 6.1.76 but is I update only this DLL it make error with my application. So I wonder, doest’t cost the effort to try to make update to this version ?

Any offer will be welcome.
 New version which I found Current used version
Question by:dvplayltd
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
LVL 16

Expert Comment

ID: 35069638
Gut instinct tells me that you are not likely to get a 30-50% speed boost by installing any sort of update from Microsoft.  From my experience, Microsoft is not in the business of modifying their code to make it run faster so much as they are in the business of adding more features to their code.  After all, there was a saying I heard years ago that said "What Intel givith [in speed performance] Microsoft takeith [to expand functionality]".

As an example, I learned the hard way that the VB File Length function was still opening the file and reading through the contents to discover the length (at least back in the days of VB4).  Because I had to determine the size of thousands of files, I had to resort to VB calling Windows API functions to get the file length because the VB way was WAY TOO SLOW.

So IMHO, the only way you are likely to see a 30-50% speed boost is to rewrite your code in something more like C++ and possibly even ASM to get the speed boosts you need.  Depending upon your needs, that would allow you to write the logic using multi-threading and taking advantage of modern multi-core processors.
LVL 10

Accepted Solution

cool12399 earned 500 total points
ID: 35095721

Very unlikely. GDI is hardware accellerated, whereas GDI+ is not.

You'll actually need to 'recode' your existing application if you want to see a performance boost.

I.e., if you are using "DrawLine" -- instead of using that -- use "Drawlines" with an array of points & you can see a performance increase. That is one example.

You'll need to review the existing docs for GDI, & test out different functions to see what gives you a performance increase.

Author Comment

ID: 35096815
To cool12399

Hyym. I have enoght experience (10+ years) in both hadrware and software and know that increase with 20-50 % is not easy at all.

But I was hope that new version of GDI+ could be hardware accelerated from video card .. Do you sure that GDI+ is not and will be not at all hardware supported? It is 100 % sure that only GDI will use new  hardware power?

But to access GDI from VB6 is not possible, also this mean that I should totally rewrite my application . OK .. i see you are in matter - which techonlofy give me hardware accelleration ? I need to show cralw text in screen (tex going from left to right). I appears that GDI+ is not fast enoght for this and a jump while text is move can be seen now with mu current sofwtare.

Author Closing Comment

ID: 35127033

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I use more than 1 computer in my office for various reasons. Multiple keyboards and mice take up more than just extra space, they make working a little more complicated. Using one mouse and keyboard for all of my computers makes life easier. This co…
This article shows how to use a free utility called 'Parkdale' to easily test the performance and benchmark any Hard Drive(s) installed in your computer. We also look at RAM Disks and their speed comparisons.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

690 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question