Windows XPPost your Windows XP related questions here.
Mission Statement
WindowsBBS is an online community dedicated to easily accessible technical support for those using Microsoft operating systems and other Windows software.
Our goal is to become the leading resource for computer users that require assistance with their day-to-day computer usage, including full support for networking PC's, virus & malware removal, system upgrades and general support questions.
Hmm. I'm still having a hard time clearly tracking on what exactly is slow.
Walk me thru it, from opening NOTEPAD all the way until the printer starts going and clearly define the deviation from expected behavior.
To save paper, and elminate bidi, network stuff, etc etc from the equasion. I recommend setting up a LJ4 driver printing to a local port. It does not actually need to have a printer connected to the lpt port, just make a phantom printer and pause the queue. If this concept is confusing, then just setup a generic text only print driver, and have it print to whatever printer you can lug into the room.
The test matrix i explained below, some clarity. I am interested only in 'first launch' times. After you collect a single file->print time, close the app, relaunch and retest.
I will be very interested to see the results once you have cleaned the garbage out of your spooler. Alternitivly, if you can setup a lab/test machine repro of a clean install, that would work as well.
Hi Joe. Thanks for your suggestions. Here is what I've done so far:
Notepad.exe took 65 sec first time after File-->Print (then on each restart 40,63,64,63,63,64,64 sec). After installing LaserJet4 as default local printer, it took 55,63,63,64 sec, i.e. no change.
Netscape still takes 61 sec, Adobe acrobat 62 sec, IE 2 sec (no change).
With Word, Excel and Powerpoint, the printer selection dialog comes up IMMEDIATELY after clicking File-->Print (< 1 sec).
It doesn't matter which printer is selected or set as default -- same thing happens with these applications. Once a printer has been selected, printing starts within 3 sec of clicking OK with any of them (on both local and network printers).
I'm reluctant to remove all my printer drivers unless I really have to (I work in 3 different locations and have 5 local and 6 network printers installed -- reinstalling each of them one by one would be a real pain). I had a look at cleanspl.exe, but it wanted to 'delete all installed spooler components', so I didn't go ahead.
What do you think? Rob
Quote:
Originally Posted by JoeHobart
Hmm. I'm sorry you didnt have a better experience with the MS Support line, lightft.
Before we go putting on tinfoil hats and blaming the evil elite for optimizing msft applications , perhaps a bit of old fashioned troubleshooting is in order.
When one goes into the 'Print' dialog, lots of things are happening. The actual behavior of it is wildly variable depending on the app. In the case of Word, it collects this information on document load, so it knows how to WYSIWYG your doc to match your printer. Its fast, because its already done it before you even open the dialog. This is the obvious explination for why gui office apps don't experience the problem.
Lets talk about NOTEPAD.EXE. If both of you could explain exactly what the experience is when opening notepad, then File->print. Stopwatch it from the time you click to the time it opens. Do it three times from a restart of notepad to get a good average.
I'd like for you to then install a LaserJet4 as a local printer, using inbox HP drivers, and set it as the default. Repeat the above test. Is there a delta?
If you are feeling saucy, i'd like to melt down your spoolers to the basics, and build it back up slowly, as the high probability vector is a print monitor (this is different than a driver).
After cleaning up the garbage, reinstall an INBOX driver printer and repeat your test above. Start reinstalling your printers, one at a time, stopping to test after each installation, by 'net stop spooler' 'net start spooler' and running the above test.
This troubleshooting track has an 80% chance of resolving it.
The only other vector i can think of is some freakish shell extension (shellexview) or a external program that is intercepting print calls. This is a pretty low probability path, not the first thing i would look at.
I have a client that has a duplicate env like yours with XP and W98. We updated to SP2 and had the exact issues with the printer drop down acting slow as molasis.
We did the following and the problem was resolved:
Go into the Security Center, select Windows Firewall. Then choose the Exceptions Tab. Then I had to put a check in Remote Desktop.
That was it. The issue went away. Hope this helps.
You might have something here, but I can’t pin it down. I opened Windows firewall, confirmed it was turned OFF, and decided to check Remote Desktop anyway. Closed. Opened MS Word 2003 and a 2-page text doc, then tried to print. I got excited when the print dialog box came up in 2-3 seconds. I can live with that. But it never did it again!
I closed the doc and Word, then reopened Word and tried again – back to the usual 10 seconds or so. This is a lot better than the 30 seconds or so that I got immediately following the upgrade to SP2, but is still pretty slow on a fairly fast machine. (2.8 gHz)
Tried again with Windows firewall turned on and off, remote desktop checked and unchecked both ways. I got a range of almost 50% in time, but never real fast again. I am not sure this setting changed anything for me, as I also got about the same range of response times without switching any settings.
Similar, but 2-3 seconds slower response with Notepad, and of course, instantaneous printing with good 'ol Cardfile.
We'll get this sooner or later - Hope we don't have to wait for Longhorn!
Nice to find this thread and know that I'm not alone!<g>
I'm a C++ programmer, and one of my biggest applications throws a GDI exception when I try a print selection cycle. IOW the printer selection dialog never comes up. On some of my smaller C++ applications, the dialog does come up, but it takes 30 seconds or more!
I've traced the GDI crash to a place in my code where the Windows API call CreateDC() is called. But I'm not sure that this is really the culprit.
I first noticed this on a new development machine I received (a Dell XPS Gen III). My earlier machine was running XP SP1 and didn't have this problem. This PM, I upgraded my older machine to SP2 and now the problem occurs on that machine!
I have another user in my office on a Dell laptop with XP SP2 but he doesn't see this problem!
I've gone so far as to completely disable the Windows firewall, but that still doesn't help my GDI exception problem.
And yes, recent MS applications don't seem to be impacted. But applications like Paint Shop Pro 6 and others show a very long delay before the printer selection dialog appears.
When my GDI exception occurs, and I go into Display settings, I get an error message that the display driver is "old" and can't be used. So I think this is somehow involved with the display driver.
I downloaded the latest driver for both my NVIDIA cards, but that didn't seem to help.
Anyway, it seems like we are all on the track of something "real" and significant!
Best
Harry
Last edited by HarryWhitehouse; 8th December 2004 at 03:58.
and yet, no one has followed my advice yet. This makes me sad.
Harry, welcome to a fellow coder! grab a first chance exception dump with cdb and run it through my dump tool, and i can probably tell you why its crashing. I wouldn't expect that a CreateDC would invoke anything related to this problem. Maybe though.. might be tied to something wacky with the devmode.
When my GDI exception occurs, and I go into Display settings, I get an error message that the display driver is "old" and can't be used. So I think this is somehow involved with the display driver
Whaaa? got a screen shot or exact verbage on that dialog?
If you want to snag a dump or two of your app and spoolsv during this pause, we might be able to crack the phenomenon.
My money is still on some garbage port or language monitor trying to bidi or throwing exceptions when you enum.
FWIW - per JoeHobart's suggestions, I did install an HP LJ 4 driver as a local LPT1 port on a system where I have this problem. No physical hardware there, but if necessary I could hang my NEC laser there as it can use that driver.
Anyhoo - I can find No difference with that set as the default or not. MS Office 2003 apps are the fastest, IE comes in a second or two later, and second tier apps like notepad, Adobe products, etc are 5-10 seconds slower still. I also agreed with Harry that the settings on Windows Firewall do not seem to make a difference, but I have been told by some MS folks that turning everything off in the Security Center does NOT really turn everything new off.
I brought this printer dialog delay time issue up at a recent MS TS2 seminar and the regional rep is interested in getting it followed up. I'll hang around for some info from your code dump analysis and then forward a cleaned up copy of this thread to him. 'Course, if you solve it and want the PR, it's all yours! I only want delay times back where they were, but there seem to be enough folks with this problem that MS ought to let everyone know. They can't all be lucky enough to be on these boards.
This is the message I get when looking at my display settings AFTER the GDI exception is thrown:
"The currently select graphics display driver can not be used. It was written for a previous version of Windows and can not be used with this version of Windows. The system has been started with the standard VGA driver"
If I reboot freshly and check my display settings before trying to invoke my application's print dialog, no such message appears.
Lets talk about NOTEPAD.EXE. If both of you could explain exactly what the experience is when opening notepad.
Let me try to answer this question. This slowness (or crash in the event of my larger OWL application) is encountered when you first invoke a print cycle (e.g. File|Print) and the printer selection dialog is supposed to appear. For certain applications, the time before this dialog appears is extended to ~30 seconds with SP2 applied. Prior to the SP, you would typically see the dialog within 1 or 2 seconds.
I checked two other machines in my office with SP2 that DON'T have this problem -- and they both had display adapters OTHER THAN Nividia.
I have Nividia adapters (two different hardware models) on both of the machines which exhibit problems.
Given the current evidence, I think that SP2 is somehow causing a collision between the memory used by the NVidia display adapter and the printer common dialog.
Lightft, so let me make sure i understand exactly what you did in your test. Did you nuke your print key or used cleanspl to start 'fresh'? Or just installed the new printer and set to default?
Then you installed a phantom LJ4 driver and then tried the test matrix?
Harry, that dialog will be thrown when there are no valid DevModes on the display adapter. Sounds like your display settings went out to lunch when that exception was thrown. Are you going to be able to grab those first chance dumps?
As far as this delay goes, its almost guarenteed to be 3rd party garbage in the spoolsv. We need someone experiencing the issue to clean out the trash and test up to identify the component doing it, or someone who can run a debugger to get dumps.
Joe -- My Borland debugger shows a valid DEVMODE structure going into CREATEDC -- I checked it item by item against a non-impacted machine addressing the same default printer. CreateDC throws a GetLastError of 119 which is BAD_DRIVER_LEVEL. I agree that the memory corruption might be occuring before that statement but I don't have any better tools to debug.
ALL having problems -- please check to see if you are running NVIDIA display hardware. This seems to be a consistent combination for this SP2 error in my office based on a survey of 5 SP2 machines. Of the 3 showing this problem, every one has an NVIDIA card. The ones operating properly have other display hardware.
Not sure what you mean by "nuke your print key", and no, I was naughty and did not run cleanspl - do I need to do that just on a given machine I am testing or on every system on the network? Does it need to be done on both the print server (win 98) as well as on the XP SP2 box?
Harry -
there are a couple of systems with the problem that have integrated video on Dell boxes that I have not investigated yet, but of the two networks where I do the most work, both have almost all displays driven by some vintage Nvidea card. Generally GeForce II MX400 to FX5200. Drivers are current as of 8 weeks ago.
Judging from what I have read here, you and I have the same identical problem even though we are running two different networks. Maybe some collaberation can solve this problem? Im about to beat my head against a keyboard at this point!
Quote:
Originally Posted by lightft
Joe -
Not sure what you mean by "nuke your print key", and no, I was naughty and did not run cleanspl - do I need to do that just on a given machine I am testing or on every system on the network? Does it need to be done on both the print server (win 98) as well as on the XP SP2 box?
Harry -
there are a couple of systems with the problem that have integrated video on Dell boxes that I have not investigated yet, but of the two networks where I do the most work, both have almost all displays driven by some vintage Nvidea card. Generally GeForce II MX400 to FX5200. Drivers are current as of 8 weeks ago.
Took the advice of an earlier post from a member and used the cleanspool.exe tool that is accompanied within the Windows 2003 Resource Kit. It does indeed work on Windows XP! It basically deleted everything from the C:/WINNT/SPOOL/SYSTEM32/SPOOL directory. I then re-installed my network printers and now the print window appears within 1-3 seconds after clicking the print icon.
Now all I have to do is figure out how to work around the fact that if I delete everyones print spooler, how Im going to effectively and efficiently add printers back to 400+ pc's!!! Atleast the problem has been narrowed down to this folder. Service Pack 2 has installed some sort of files within this folder to slow down print jobs dramatically.
to be clear, i beleive that there is some semi-common print monitor from a 3rd party that is not playing nicely under XPSP2. By using cleanspl to whack everything, you get a fresh start with clean 'inbox' UNIDRV drivers.