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

Posted on 2011-03-08
Medium Priority
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 2000 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

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

Moving your enterprise fax infrastructure from in-house fax machines and servers to the cloud makes sense — from both an efficiency and productivity standpoint. But does migrating to a cloud fax solution mean you will no longer be able to send or re…
New style of hardware planning for Microsoft Exchange server.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Suggested Courses
Course of the Month12 days, 10 hours left to enroll

777 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