PB speed on WinXP versus Win98SE

Everything else that doesn't fall into one of the other PB categories.
TerryHough
Enthusiast
Enthusiast
Posts: 781
Joined: Fri Apr 25, 2003 6:51 pm
Location: NC, USA
Contact:

PB speed on WinXP versus Win98SE

Post by TerryHough »

First, this isn't an invitation for flames on Win98SE... it is a serious problem for me.

Lots of you know that I have been somewhat stuck in the Win98SE world due to an industry situation. Lately I have been working more and more with WinXPPro.

Here is the situtation I am encountering.

A major application (aprox 100000 lines of code) that has 10-12 menu titles with 5 to 10 menu items in each, screen forms with a good number of gadgets...

On Win98SE, the program starts, loads the screens and menu almost instantaneously. Only the sharpest of eyes can detect any hint of the screen backdrop drawing or the menu titles being created. Even the gadgets appear almost instantly without any visible drawing appearance.

On WinXPPro and WinXPHome, the program starts pretty quickly, but the screen building is very noticably slower. The menu titles appear one at a time very slowly. After that, the form backdrop appears almost instantly but the gadgets draw very slowly onto the form.

This is the exact same compiled PB4 code running on the same machine.

The system was wiped clean and Win98SE intalled from scratch and all appropriate drivers installed before the subject program was tested. Then the system was again wiped clean and WinXPPro installed from scratch and all appropriate drivers installed and then the subject program was tested.

The internal workings of the program (other than the screen drawing) seems about the same except for accessing data across the LAN. That is about 40% slower under WinXPPro.

So, I decided to test further... now I have three identical systems configured Win98SE, WinXPHome, and WinXPPro on a LAN accessing the same server. The Win98SE system is snappy and responsive and the program is easy for the user to utilize. On the WinXP systems, the user easily gets frustrated by the visual and performance delays.

I am hopeful that I will find some solution to the performance problems and some tweaks to the code to alleviate some of them.

Please tell me if you have experienced similar results and any solutions you may have found. You suggestions are welcomed.

Again, this isn't an invitation for a diatribe on why one OS is better than the other. I really am seeking solutions.

Thanks,
Terry
Character
Enthusiast
Enthusiast
Posts: 337
Joined: Mon Aug 07, 2006 3:51 pm
Location: Netherlands

Post by Character »

Did you also swap machines although the three systems are identical?
Is the LAN performance not related at all to the screendrawing performance? Are you sure?
Can I test the program? I have 3 different XP Pro system configs here.
(1 laptop)
Cessante causa cessat effectus
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

Post by Kale »

I've had this problem before with Python and was never able to speed it up. So i did what any hacker would do, i.e. create the window hidden, create the GUI, then make the window visible. :twisted:
--Kale

Image
TerryHough
Enthusiast
Enthusiast
Posts: 781
Joined: Fri Apr 25, 2003 6:51 pm
Location: NC, USA
Contact:

Post by TerryHough »

@Character
Character wrote:Did you also swap machines although the three systems are identical?
One machine has been configured both as Win98SE and WinXPPro during the testing. All three are now clean, fresh installs. Further testing has been conducted on other WinXPPro machines and they exhibit the same symptoms.

Additionally, I have a dual-boot WinXPPro and Win98SE. The performance differential is evident on that machine as well.

Is the LAN performance not related at all to the screendrawing performance? Are you sure?
The LAN is only used for retrieval of data. All screendrawing and related information is stored locally.
Can I test the program? I have 3 different XP Pro system configs here. (1 laptop)
I appreciate the generous offer, but must decline.

Thanks for your interest and reply.

@Kale
Thanks for the good reminder. I have already made some progress with the visual problems since posting by judicious use of LockWindowUpdate_.

However, I am still at a loss to explain the apparent performance discrepancy between Win98SE and WinXPPro.

As a plus, the LockWindowUpdate_ changes made the Win98SE even snappier. So, it was time well spent.
ricardo
Addict
Addict
Posts: 2438
Joined: Fri Apr 25, 2003 7:06 pm
Location: Argentina

Post by ricardo »

If you rightclick the executable (on XP) you can make it run as it where w98 using compatibility tab to make it runs ALWAYS as w98 . That might help...
ricardo
Addict
Addict
Posts: 2438
Joined: Fri Apr 25, 2003 7:06 pm
Location: Argentina

Post by ricardo »

Did you want to fix that ONLY for that PC or for any XP?
I ask this because you can rightclick on mypc and go to advanced tab and then put the visual style of your XP to run with not much visual effects to make it draw faster.

I think the explanation is simpler:

XP is much more visual consuming, BUT if you are using the SAME pc, maybe that PC are not the best to run XP and then can be slow to draw and redraw windows, etc.

Use a faster PC and i guess problem is not there...
User avatar
Paul
PureBasic Expert
PureBasic Expert
Posts: 1285
Joined: Fri Apr 25, 2003 4:34 pm
Location: Canada
Contact:

Post by Paul »

You never mentioned the specs on your test machine.

One must be aware that Win98 requires very little resources and was designed to run on the machines that were around in the day... 75MHz - 300MHz. XP of course requires much more memory and a much faster processor. One will notice a huge speed difference simply by trying to run XP on something under 1GHz, not to mention if you don't have drivers optimized for XP. ;)
Image Image
White Eagle
Enthusiast
Enthusiast
Posts: 215
Joined: Sun Jan 04, 2004 3:38 am
Location: Maryland

Post by White Eagle »

This is the exact same compiled PB4 code running on the same machine.
Did this issue exist with 3.94. or is it 4.0 specific?
Dare
Addict
Addict
Posts: 1965
Joined: Mon May 29, 2006 1:01 am
Location: Outback

Post by Dare »

I think Paul has answered it.

My first thought was it was OS, not PB related, and the hardware was being pressured by XP.

Can you install another busy (screen render-wise) app on both 98 and XP and see how it goes? (Install exactly the same program, using the same install CD or disk)
Dare2 cut down to size
TerryHough
Enthusiast
Enthusiast
Posts: 781
Joined: Fri Apr 25, 2003 6:51 pm
Location: NC, USA
Contact:

Post by TerryHough »

@ricardo
ricardo wrote:If you rightclick the executable (on XP) you can make it run as it where w98 using compatibility tab to make it runs ALWAYS as w98.
I have tried that. No difference.
Did you want to fix that ONLY for that PC or for any XP?
I ask this because you can rightclick on mypc and go to advanced tab and then put the visual style of your XP to run with not much visual effects to make it draw faster.
Any XP machine. However, I have experimented with the visual style of the PC. There is a slight speed improvment, but menu drawing is still much slower than with Win98SE. I have also tried limiting the visual effect on the program level (properties | compatibility | disable visual themes) with the same results.

@Paul
You never mentioned the specs on your test machine.
Make that machines. :)
Three identical AMD Athlon 2.2Ghz, 1Gb RAM, VIA onboard SVGA and LAN with
1) latest WinXPPro installed and all XP drivers updated to latest.
2) latest WinXPHome installed and all XP drivers updated to latest.
3) Win98SE installed and all drivers updated.
A dual-boot AMD Athlon 950Mhz with 512Mb RAM.
A Celeron 3.0Ghz, 1Gb RAM, BioStar MB with latest WinXPPro and all XP drivers updated to latest. This machine was previously a Win98SE machine and never exhibited these symptoms.
I am convinced it is not solely a PC speed or hardware problem.

@WhiteEagle
Did this issue exist with 3.94. or is it 4.0 specific?
Although I am testing with a PB4 compiled program at the moment, the same problem existed earlier with the program compiled with PB3.94.

@Dare
My first thought was it was OS, not PB related, and the hardware was being pressured by XP.

Can you install another busy (screen render-wise) app on both 98 and XP and see how it goes? (Install exactly the same program, using the same install CD or disk)
Good suggestion, and I have been there too. I tried three different commercially available programs. There doesn't seem to be any visual difference between machines or OS. A fourth program, from Microsoft, does draw the menus very slowly, but it is identical between machines and OS.

My first thought too was the OS. After much testing I still lean that way.
I doubt it is PB related, and if it is, then it is due to my coding.

@all of you
Thanks to all of you for the suggestions. Still feeling very frustrated though... :(
ricardo
Addict
Addict
Posts: 2438
Joined: Fri Apr 25, 2003 7:06 pm
Location: Argentina

Post by ricardo »

I guess that then the problem is the coding style of some part of the app.

I found once this same problem and was just because i was doing many simultaneous things when creating the window.

One question: JUST this PB app gives you this problem or ANY PB compiled app does?

*I know that in w98 you don't find same problem with same code, but remember XP is much more complicated in visual stuff.
User avatar
Rescator
Addict
Addict
Posts: 1769
Joined: Sat Feb 19, 2005 5:05 pm
Location: Norway

Post by Rescator »

VIA onboard SVGA
Hmm! I bet that thing is so basic that there is no hardware acceleration on anything, not even hardware mouse pointer acceleration?
If so XP (DirectX and/or GDI) need to do it CPU only, and XP has higher penalty when that happens.

Windows XP rely on hardware acceleration quite a bit,
you might want to put in a AGP card and test again,
my guess is the difference will be a lot less. (heck W98 might even get more faster as well)
Fred
Administrator
Administrator
Posts: 18351
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

To speed up window/gadgets creations on slow graphic chips, you can create the window in "invisible mode" and just un-hide it once all is created.
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

Post by Kale »

Fred wrote:To speed up window/gadgets creations on slow graphic chips, you can create the window in "invisible mode" and just un-hide it once all is created.
Hey, that's what i said. :wink:
--Kale

Image
Fred
Administrator
Administrator
Posts: 18351
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

Mouarf :oops:
Post Reply