1. You are viewing our forum as a guest. For full access please Register. WindowsBBS.com is completely free, paid for by advertisers and donations.

XP SP2 slows network printing 5-10X

Discussion in 'Windows XP' started by lightft, 2004/10/01.

Thread Status:
Not open for further replies.
  1. 2004/12/07
    JoeHobart

    JoeHobart Inactive Alumni

    Joined:
    2004/05/19
    Messages:
    919
    Likes Received:
    1
    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.
     
  2. 2004/12/08
    lightft Lifetime Subscription

    lightft Inactive Thread Starter

    Joined:
    2004/03/20
    Messages:
    13
    Likes Received:
    0
    It's all the same to me...

    Harry, Joe, et al -

    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.

    Lightft / HelpDesk 180
     

  3. to hide this advert.

  4. 2004/12/08
    HarryWhitehouse

    HarryWhitehouse Inactive

    Joined:
    2004/12/07
    Messages:
    4
    Likes Received:
    0
    Hello Joe!

    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.

    Best

    Harry
     
  5. 2004/12/08
    JoeHobart

    JoeHobart Inactive Alumni

    Joined:
    2004/05/19
    Messages:
    919
    Likes Received:
    1
    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.
     
  6. 2004/12/08
    HarryWhitehouse

    HarryWhitehouse Inactive

    Joined:
    2004/12/07
    Messages:
    4
    Likes Received:
    0
    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.

    Best

    Harry
     
  7. 2004/12/08
    lightft Lifetime Subscription

    lightft Inactive Thread Starter

    Joined:
    2004/03/20
    Messages:
    13
    Likes Received:
    0
    Nvidea the culprit?

    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.

    Lightft
     
  8. 2004/12/13
    Newt

    Newt Inactive

    Joined:
    2002/01/07
    Messages:
    10,974
    Likes Received:
    2
    Just bumping this one back to the top. Interesting topic and still very much an open issue.
     
  9. 2004/12/14
    cs120797

    cs120797 Inactive

    Joined:
    2004/12/13
    Messages:
    9
    Likes Received:
    0
    Lightft

    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!

     
  10. 2004/12/14
    cs120797

    cs120797 Inactive

    Joined:
    2004/12/13
    Messages:
    9
    Likes Received:
    0
    Okay!!

    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.
     
  11. 2004/12/14
    JoeHobart

    JoeHobart Inactive Alumni

    Joined:
    2004/05/19
    Messages:
    919
    Likes Received:
    1
    sweet, im glad it worked.

    This article may help you:

    How to Add Printers with No User Interaction in Windows XP
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;q314486

    Code:
    rundll32 printui.dll,PrintUIEntry /if /b  "Test Printer" /f
    %windir%\inf\ntprint.inf /r  "IP_157.57.50.98" /m  "HP Laserjet 4000 Series PCL" /Z
    
    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.
     
  12. 2004/12/15
    cs120797

    cs120797 Inactive

    Joined:
    2004/12/13
    Messages:
    9
    Likes Received:
    0
    The actual problem was....

    Go to REGEDIT---
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers

    The printer I had installed was listed as such:
    ,,ipp://****_FS1.****ORG,LP208

    On a system that was effected by serious slow downs during printing, the printer was listed by a NETBIOS name as illustrated above. After i used the cleanspool.exe tool within the Windows 2003 Resource Kit on this same machine, and re-added the same printer to this machine, I decided to add the printer via the print servers static ip address. This of course would force the client machine to look past DNS and go directly to the print server and attach the job directly to the applicable printer without having to resolve a NETBIOS name.

    Again, referring to:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers

    Now my printer was listed as such: ,,ipp://**.1.1.**,LP201

    Printing speed was at its prime again. In saying this, I realized that I probably didnt have to use the cleanspool.exe tool to get the same results as it was merely deleting all print devices, monitors, and drivers from this registry key and by simply deleting the printers from the printers and faxes control panel, I would achieve the same results, but would keep other vital services that would be needed at some point.

    In saying that, cleanspool.exe wipes out everything so if you have a standard tcp/ip printer port set up already and you use the cleanspool.exe tool, its gone! I bring this up because if a local standard tcp/ip port is in place, cleanspool.exe wipes out the inf for this service completely! You will have to reload it from the I386 folder from the windows cd or I386 folder from your C:/root drive if you configured the OS properly during install.

    So to save yourself some time and headache, dont use the cleanspool.exe tool across the network if your organization utilizes many different print services. You will indeed have to re-build them from scratch! Im not sure if what ive done will help all, but if your organization is using a NETBIOS printer scheme, try deleting the printer and re-add using the static ip of the print server or the printer itself. Hope this info helps!

    P.S. For those of you who use NOVELL IPRINT, simply update your IPRINT version to 3.11. Then all you have to do is delete all printers from the printers and faxes control panel and then re-install the printers from the IPRINT console on the client machine. IPRINT will add the static ip of the printer server automatically for you! Viola!
     
  13. 2004/12/15
    JoeHobart

    JoeHobart Inactive Alumni

    Joined:
    2004/05/19
    Messages:
    919
    Likes Received:
    1
    I would just add that name resolution (changing to IP) seems to have addressed your problem, cs120797, I am not convinced it will work for everyone, based on the symptoms described.

    cleanspl is not a deployable solution, but it makes it easy to melt down the spooler so you can build it back up to identify the component causing the problem. For an enterprise scale phenomenon, i would expect someone to cleanspl, come up working. Then rebuild that client back to 'standard' in an incremental fashion. If it comes all the way back up without issue, then look for deltas.
     
  14. 2004/12/15
    cs120797

    cs120797 Inactive

    Joined:
    2004/12/13
    Messages:
    9
    Likes Received:
    0
    Thanks.

    I agree that it probably wont solve everyone's issue, but hey thats what this forum is for! Share ideas and maybe someone will stumble upon a fix pertaining to their particular situation. Im just glad I came across this forum or I would still be beating my head on my desk for a while. Thanks for your comments and suggestions.
     
  15. 2004/12/15
    Newt

    Newt Inactive

    Joined:
    2002/01/07
    Messages:
    10,974
    Likes Received:
    2
    lightft, Harry - are either of you cured at this point?
     
  16. 2004/12/17
    Codeman91

    Codeman91 Inactive

    Joined:
    2004/12/17
    Messages:
    1
    Likes Received:
    0
    I was having the same problems that are being described here, and I used this trick I found to speed up my printing again. I don't know if it will work for everyone, but my print box comes up as quickly as before I installed SP2. Hope this helps.

    1. Start the Printers and Faxes Wizard. Then click File, Server Properties, Ports

    2. Click Add a port, select "Local port ", then click New Port

    3. Enter the full \\Share_Server\Printer_sharename of the shared Network Printer; e.g. \\Server1\HPLaserjet500

    4. Click Next to finish adding the port.

    5. Now use the "Add Printer" wizard to add a new Local printer, not a Network printer. The port is going to be the new local port you just added.
     
  17. 2004/12/28
    HarryWhitehouse

    HarryWhitehouse Inactive

    Joined:
    2004/12/07
    Messages:
    4
    Likes Received:
    0
    This is Harry checking in again!

    I'm still having this problem. I'm convinced that there is some sort of significant bug in SP2 which impacts larger applications when they attempt to begin a print cycle. I think it's the GDI32.DLL API call CreateDC() which is the problem. I also believe that this call is somehow trampling memory used by the video adapter in SOME machines.

    A few SP2 machines which have integral Intel video adapters don't exhibit this problem -- perhaps because of different memory use patterns.

    I've been through my code with a fine tooth comb, and tried everything posted here and elsewhere (registry modifications, removing and reinstalling printers).

    I'm just hoping that MS is working on this -- it appears that lots of applications are impacted to varying degrees.

    Best

    Harry
     
  18. 2004/12/28
    BenMcDonald[MS]

    BenMcDonald[MS] Inactive

    Joined:
    2004/12/14
    Messages:
    228
    Likes Received:
    0
    I'm not aware of any reports of this phenomenon that were not related to something not SP2 specific (like name resolution) or 3rd party port, language monitors and print providers.
    I talk to some of our largest corporate customers every day, and they are not shy about pointing out problems. I have no reports of this happening in managed enviroments.

    If CreateDC had some sweeping flaw in it, there would be teeming millions carrying pitchforks and torches on a march to redmond. With well over 100 million downloads, SP2 is out there, and other than this thread and a few newsgroup posts that were resolved with port monitors and print providers, I'm not seeing the coverage. The GDI functions rely heavily on drivers to provide information, its seems more likely that you have an nvidia driver causing a problem in your enviroment. Certainly something that can be investigated, especially since its throwing an exception.

    I see above joehobart asked you for first chance exception dumps of the phenomenon. Did you collect that data yet? I didnt see another thread on it. I'd also like to see debug spew from a checked build of GDI32 and win32k.
     
Thread Status:
Not open for further replies.

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.