Forum posts for spoolsv.exe

Squeezing more speed out of Windows print spooler

Our customer and I are trying to find a way to eliminate our printing bottleneck in a labeling system my company integrated at their warehouse.

The way our system is set up, a box scans, my software does this:

PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = PrinterName;
pd.PrintController = new StandardPrintController(); //Prevent print windows
pd.DefaultPageSettings.Landscape = false;
pd.DefaultPageSettings.Margins = new Margins(0, 25, 25, 0);
pd.PrintPage += (sender, args) =>
{
Image i = Image.FromFile(@'D:ProductLabels' + LabelID + '.png');
Rectangle m = args.MarginBounds;
args.Graphics.DrawImage(i, m);
};
pd.Print();


which sends it to the spooler. The program runs on a rack server with Windows Server 2012, and we're printing shipping labels to five label tampers powered by Intermec PX4i label printers. Each print job is sent from a different thread, because our scanpoint processing is asynchronous. Right now, the fastest our system can handle is 5 boxes, one on each line, every 2.75 seconds, and they want to speed it up to 5 boxes every 2 seconds - the problem is, if we let it go any faster, print jobs start getting held, and spoolsv.exe starts eating up whatever CPU load my program and SQL Server aren't.

Unfortunately, our customer can only provide the monochrome .PNG image files for the labels (each about 27kb, which you wouldn't think would bog down a print spooler...) and not IPL/ZPL equivalents (which we could just send to the printers via TCP in a matter of milliseconds).

Is there a way - either in the code or in the print settings - that I can eliminate this bottleneck? Please let me know if there's anything on which you'd like me to elaborate.

View complete forum thread with replies

Other posts related to spoolsv.exe

See Related Forum Messages: Follow the Links Below to View Complete Thread

How can I automate the Tasklist command on my workstation to check a specific process on X n…
Calling fopen on Windows core files returns NULL pointer
How to check if service spoolsv.exe is responding to requests without printing?
Spooler memory increases when System.Printing.Printqueue object is created
Limiting an ATL exe server to one process (instance) only
Squeezing more speed out of Windows print spooler

What is the carbon footprint of your coffee?

Is it low? Is it high? Can this things really kill the planet Earth? Maybe the answer will surprise you. Maybe not.