stever@videovax.UUCP (01/22/87)
We have an Epson JX-80 (color) printer, which produces quite acceptable output. (As an example of the things we do with it, last night my older son made a very fancy birthday card for a friend, using DPrint. My wife also prints her homework, in black-and-white.) There is one fly in the ointment, though. When we have selected "JX-80" in Preferences, the output is agonizingly slow!!! On each line, the printer driver insists on printing the full width of the paper for each color, even if nothing is to be printed on that line! Of course, the printer has to cycle the (multistripe) ribbon up and down with each color, so it takes five to ten seconds per line. When the output is only a line feed, the printer driver still cycles the ribbon through all four colors before moving to the next line. We can get around the problem by selecting "FX-80" in Preferences, which produces fast black-and-white output, but this renders color printing unavailable. There is a solution -- the JX-80 printer driver needs to optimize printing for best throughput. Some suggestions (in the comments below, "line" means the vertical expanse that can be printed in a single pass of the printhead): 1. Neither printhead motion nor ribbon motion should occur unless there are one or more dots to be printed on a given line. If a line consists entirely of empty pixels, (even hundreds of them), all that is required is a line feed. 2. The ribbon should not be cycled to a color that is not used on the line being printed, nor should any printhead motion occur for that color. Ribbon motion is one of the slowest functions on the printer, so elimination of unnecessary ribbon color changes should have a very high priority. 3. The printhead should go only as far as is required to print the last active dot for each color on the line. Why waste time sweeping across 8-1/2 inches of paper and returning across the same 8-1/2 inches when the only dots to be printed are within one inch of the left edge of the paper? 4. The rest state of the ribbon should be on the black stripe, so it will not be necessary to move the ribbon at all for black-and-white printing. 5. If there is only black-and-white information to be printed, do not send any ribbon motion commands (not even "go to black ribbon"). Combined with (2) and (4), above, this will permit black-and-white printing as fast as if "FX-80" had been selected in Preferences. All-in-all, these improvements would probably double the printing speed for sparsely-colored images, and increase the speed for black-and-white printing by ten times. How about it, Commodore-Amiga? Can we hope for an improved JX-80 printer driver in V1.2? Or can I get the source for the JX-80 printer driver so I can hack these changes in myself? Steve Rice ---------------------------------------------------------------------------- {decvax | hplabs | ihnp4 | uw-beaver}!tektronix!videovax!stever
daveb@cbmvax.UUCP (01/25/87)
In article <4175@videovax.Tek.COM> stever@videovax.Tek.COM (Steven E. Rice, P.E.) writes: > several good suggestions for speeding up the JX-80 driver. Steve: These are very good logical suggestions which were on my 'to-do' list when I wrote the original driver. Unfortunately, with all the other drivers to write, I never got a chance to do a second pass on all the drivers. Since I no longer woke for CBM-Amiga, I can't say if they will update this driver. CBM-Amiga has published (in the RKM) the source for the Epson driver, perhaps they can be persuaded to publish the source for the Epson_JX-80 driver. Good luck in your endevours.
keithd@cadovax.UUCP (01/28/87)
In article <4175@videovax.Tek.COM> stever@videovax.Tek.COM (Steven E. Rice, P.E.) writes: >There is one fly in the ointment, though. When we have selected "JX-80" >in Preferences, the output is agonizingly slow!!! On each line, the >printer driver insists on printing the full width of the paper for each >color, even if nothing is to be printed on that line! Of course, the >printer has to cycle the (multistripe) ribbon up and down with each >color, so it takes five to ten seconds per line. AHA! Other people HAVE been having problems. A friend and I have been exploring some of the printer problems, and are thoroughly confused. We have learned a few things, but am not sure where many of the problems lie. They can either be in: 1) The printer driver for the particular printer 2) The printer.device 3) The application doing the printing We have been testing on two types of printers basically, a Canon1080a color ink-jet, and an Epson LQ-800 24 pin high quality dot matrix printer. Neither printers were in the original Amiga preferences, all drivers were obtained from Compu$erve. We have the source to the LQ-800 driver, but not to the Canon driver. We've tested printers with 5 packages that are of note: 1) Dpaint I 2) Dpaint II 3) DeluxePrint 4) NotePad 5) PageSetter Here are some of the things we've found: 1) The slowest APPLICATION is DeluxePrint. Here is where we get the 30+ minuite print times when using the LQ-800 which has in the NLQ mode, which provides 1440 dots horizontally. It takes a good 30 seconds a line. The LQ-800 prints a page in around 10-12 minuites worst case with most of the other programs (except PageSetter which also tends to the 30+ print minutes per page). 2) The applications are apparently doing their own re-sampling (I use this term to mean 're-sizing' the image by 'doubling-up' pixel lines horizontally and/or vertically or 'dropping-out' such lines in order to make the image fit the paper 'correctly'. Each application seems to be re-sampling DIFFERENTLY. Of all the packages mentioned, only DPaint II can be configured so that the re-sampling dosen't affect text output objectionably. All the rest you see a tendency for some letters to be 'thicker' than the same letter elsewhere on the page. This is because some vertical lines are 'doubled- up' and others are not, to make the image wider on the page. 3) NotePad sizes, 'Small, Medium, and Large' and Auto-Size seem to do different things with respect to size depending on the printer driver and current setting of preference margins. I can't get Auto-Size to work AT ALL with the Canon1080a driver I'm using, it just comes back as if it was done, with no errors and no printout. With the LQ-800 used with the standard Amiga-supplied Epson driver, 'Small, Medium, and Large' are all pretty gigantic. 4) The 'preferences' left and right margins do affect the different packages 're-sampling', but differently with every package. If I find a good setting for one package, other packages work differently, and may have different optimal settings. I've setup a test graphic, a DPaint I lo-res screen that has a bunch of single pixel vertical black lines seperated by single pixel white lines at the top edge of the graphic, and the same pattern horizontally at the left edge of the graphic. Using the Canon driver, I have to set the right margin to any number above about 85 in order to eliminate the re-sampling effect and thereby get clean lines with no 'extra' lines or lines missing. Any number above 85, up to 250 or so (which I've tested) acts all the same. No variations whatsoever. Unfortunately, with the Canon, DPaint I will try to adjust the vertical aspect to fit the screen h/v aspect ratio, and won't allow me to get an image that dosen't replicate or remove horizontal lines, thereby producing thick horizontal lines at periodic intervals. With PageSetter or the NotePad, I can't get the horizontal size to work at all without ugly 'thick' vertical lines at various intervals. With NotePad, I'll pick a font, do a bunch of H's , and find that some of the verticals are thicker than others throughout a line. I've tried setting the right margin all over the place, and though it does change where the thick and thin lines are, I can't seem to find a setting that outputs all H's uniformly. I can't get PageSetter to do this very well either. I've only done a cursory test of the screen dumper program with my test graphic. It looks like this might work better, but I really don't know yet. At any rate, it won't help me to print PageSetter documents correctly anyway. Personally, I sure wish these packages would allow me to disable any resampling at all, and take the hit in the aspect ratio and size. Shit, I can size it with a Xerox if I need to, I just can't stand the idiotic looking text when random horizontal and vertical lines are being replicated. And, it sure is a pain to try to 'cancel' a print job, most of these programs (except Dpaint II) don't provide a print cancel option. It would seem reasonable to provide this within the printer.device or the OS somewhere since obviously the Application writers aren't doing it. (Kill -9 anyone?) So what the hell is going on here? What can a printer driver do to help fix any of these problems? What can a printer driver be doing that can cause Auto-Size on the Notepad to do nothing? I've tried patching the DPI on my driver, and do get some changes, but I don't know how to figure out what I really need to set it to to get what I want (and that's text that dosen't look like SHIT). The RKM implies that these numbers need to be set to whatever the real DPI of the printer is, but that dosen't correspond to what the application is going to do with it, and usually screws up the output. The Canon has 640 dots horizontally. Sound familiar? No matter WHICH application I use, if it's dumping something that was created on the screen, it OUGHT to be able to do it without 'doubling' up vertical lines at random intervals trying to make it 'fit' the page. And though the Canon vertical DPI is not the same as the horizontal DPI, if I patch the driver to MAKE them the same, I ought to get no horizontal double-lines if I'm getting no vertical ones, but that is not the case. I'd rather stretch the image slightly vertically and not suffer re-sampling distortion than get a 100% correct aspect ratio MOST OF THE TIME. So ok, Commodore, you laid off your printer driver expert. So what are you going to do NOW? What are the rest of us going to do NOW? Keith Doyle # {ucbvax,ihnp4,decvax}!trwrb!cadovax!keithd # cadovax!keithd@ucla-locus.arpa
gwe@cbosgd.UUCP (02/03/87)
The story of the film so far: First the sun was formed, and the earth cooled down, then the dinosaurs died, then people gripe about slow printing... In article <1366@cadovax.UUCP> keithd@cadovax.UUCP (PUT YOUR NAME HERE) writes: > >AHA! Other people HAVE been having problems. A friend and I have been >exploring some of the printer problems, and are thoroughly confused. We >have learned a few things, but am not sure where many of the problems lie. >They can either be in: > > 1) The printer driver for the particular printer > 2) The printer.device > 3) The application doing the printing > >Here are some of the things we've found: > > 1) The slowest APPLICATION is DeluxePrint. Here is where we get the > 30+ minuite print times when using the LQ-800 which has in the NLQ > mode, which provides 1440 dots horizontally. It takes a good 30 > seconds a line. The LQ-800 prints a page in around 10-12 minuites > worst case with most of the other programs (except PageSetter which > also tends to the 30+ print minutes per page). (Keith then includes the results of more research than I've seen in many Master's Theses... pat yourself on the back, Keith, 'cause you deserve it !) Having owned an Apple ][e system before my Amiga, I guess I was spoiled... I could dump any Hi-res screen with one command, and print it out with a 1 dot/pixel or 4 dots (2x2) per pixel. A double-size print would neatly fill half of a page. And the dump would take only about one minute (more on some programs, to allow the print head to cool between lines). I realize that Apple Hi-res has far fewer pixels to "translate", and has an entire card dedicated to nothing but driving the printer. But on the other hand, it didn't have a 68000 chip, or seperate graphics chip, or 512 K ram, or ... Net effect: when I want to create graphics for printing, I slide over and fire up the ol' ][e. Despite the wonderful resolution, 4096 colors, and ease of use of the Amiga. >Personally, I sure wish these packages would allow me to disable any >resampling at all, and take the hit in the aspect ratio and size. Shit, >I can size it with a Xerox if I need to, I just can't stand the idiotic >looking text when random horizontal and vertical lines are being replicated. Absolutely. >And, it sure is a pain to try to 'cancel' a print job, most of these programs >(except Dpaint II) don't provide a print cancel option. It would seem >reasonable to provide this within the printer.device or the OS somewhere >since obviously the Application writers aren't doing it. (Kill -9 anyone?) The escape key usually did this on the Apple. When you've made a mistake, it's MADDENING to have to wait 20 minutes for the stupid thing to stop. Brings up another point. Why don't these commercial packages grab some of that wonderful, copious RAM and use it as a printer buffer, so I can work on a second graphic while printing the first ? Maybe it isn't possible ? > >So ok, Commodore, you laid off your printer driver expert. So what are >you going to do NOW? What are the rest of us going to do NOW? > > >Keith Doyle Once again, thanks for a well-written and researched article. ------------------------------clip and save---------------------------------- Bill Thacker cbatt!cbosgd!cbdkc1!serial!wbt DISCLAIMER: Farg 'em if they can't take a joke ! If you love something, set it free. If it doesn't come back to you, track it down and kill it. -----------------------------valuable coupon---------------------------------
andy@cbmvax.UUCP (02/03/87)
<minor flames ahead, be warned> In article <1366@cadovax.UUCP> keithd@cadovax.UUCP (PUT YOUR NAME HERE) writes: >In article <4175@videovax.Tek.COM> stever@videovax.Tek.COM (Steven E. Rice, P.E.) writes: >>There is one fly in the ointment, though. When we have selected "JX-80" >AHA! Other people HAVE been having problems. Different problems, however. Steve's problems can be handled by enhancing the printer driver for the epson_jx. His are specific problems/suggestions of things that the driver isn't doing now that, if it did, would result in increased performance. (And he's going to try) >A friend and I have been >exploring some of the printer problems, and are thoroughly confused. We >have learned a few things, but am not sure where many of the problems lie. >They can either be in: > > 1) The printer driver for the particular printer > 2) The printer.device > 3) The application doing the printing > So far so good... >We have been testing on two types of printers basically, a Canon1080a color >ink-jet, and an Epson LQ-800 24 pin high quality dot matrix printer. Neither >printers were in the original Amiga preferences, all drivers were obtained >from Compu$erve. We have the source to the LQ-800 driver, but not to the >Canon driver. > >We've tested printers with 5 packages that are of note: > > 1) Dpaint I > 2) Dpaint II > 3) DeluxePrint > 4) NotePad > 5) PageSetter > >Here are some of the things we've found: > > 1) The slowest APPLICATION is DeluxePrint. Here is where we get the > 30+ minuite print times when using the LQ-800 which has in the NLQ > mode, which provides 1440 dots horizontally. It takes a good 30 > seconds a line. Since I don't have this printer, I'll ask...is this out of line with what it does on other computers ? What is its rated speed ? (1440 dots horizontally on a 24 printer is about 34560 pixels per printer pass or 'line', right ?) As I've said before, if someone wants to send me the driver, I'll take a look at if to see if its doing anything really funny. (BTW, is there a buffer size option on this Epson ? Is it on ?) > > 2) The applications are apparently doing their own re-sampling (I use > this term to mean 're-sizing' the image by 'doubling-up' pixel lines > horizontally and/or vertically or 'dropping-out' such lines in order > to make the image fit the paper 'correctly'. The printer.device has many options, settable by the application program as to what aspecting calculations are made during a graphics dump. What you are saying is that you disagree with the decisions made by the application program authors. Fine. Write the companies. Tell them. Please don't complain about the flexibility of the printer.device, though (which is what you are doing). Flexibility gives the ability to make mistakes, as well as the ability to do it your way. You do know about the dithering that goes on, right ? Selected by preferences, you can choose Grey Scale (dithering) or Black and White (with a threshold selection to decide what is black and what is white) (BTW, re-sampling is a poor choice of term for what you are describing. In your previous posting it sounded like you thought the printer.device was reading the bitmap many times for each pixel) > > Each application seems to be re-sampling DIFFERENTLY. As I said, aspecting is controlled by the way the application calls the printer.device. There are several variables and flag values to control it. > 3) NotePad sizes, 'Small, Medium, and Large' and Auto-Size seem to do > different things with respect to size depending on the printer driver > and current setting of preference margins. Right. If your margins are set full width, small means 1/4 page, medium means 1/2 page, and large means full page, assuming the values in printertag.asm of the driver are set correctly. The margin settings are obeyed, so making the margins smaller will cut down on the width. I can't get Auto-Size to > work AT ALL with the Canon1080a driver I'm using, it just comes back > as if it was done, with no errors and no printout. With the LQ-800 > used with the standard Amiga-supplied Epson driver, 'Small, Medium, > and Large' are all pretty gigantic. I'd check those printertag.asm values if I were you. >Personally, I sure wish these packages would allow me to disable any >resampling at all, and take the hit in the aspect ratio and size. No, you don't. (well, maybe you do) Text is all stretched out when you pick 1 to 1 aspecting. (but if it doesn't look too horrible, maybe I'll put it into Notepad sometime). You could see what it looks like by modifying one of the screen dump programs out there. >And, it sure is a pain to try to 'cancel' a print job, most of these programs >(except Dpaint II) don't provide a print cancel option. It would seem >reasonable to provide this within the printer.device or the OS somewhere >since obviously the Application writers aren't doing it. (Kill -9 anyone?) > One of the big things that the Amiga OS does not provide is resource tracking. (At the time it seemed that the performance hit would be too much). So, while it would be simple to provide a means of killing any arbitrary process (since Exec knows where each one is) the process wouldn't have the resources it took (memory, I/O ports, etc) returned to the system. Only the application knows what resources it owns are finished with when. >So what the hell is going on here? What can a printer driver do to help >fix any of these problems? What can a printer driver be doing that can >cause Auto-Size on the Notepad to do nothing? Notepad autosize says to the printer.driver that it wants the driver to attempt to print a note the same size as the one on the screen. If the values in printertag.asm are incorrect, this might easily lead to being unable to print. I'd have to see the drivers to be sure, as other factors might also be involved. Printertag sounds like the problem though, judging from the rest of your complaints. (it could also be the Render Pixel case in your driver, but this is less likely) > >I've tried patching the DPI on my driver, and do get some changes, but >I don't know how to figure out what I really need to set it to to get >what I want Set the variables in printertag.asm correctly. Putting in funny numbers in attempts to defeat the graphic dump call flag choices of the application won't work very well, and will waste a lot of time. >The Canon has 640 dots horizontally. That seems to imply about 80 dpi. Sound familiar? No matter WHICH >application I use, if it's dumping something that was created on the >screen, it OUGHT to be able to do it without 'doubling' up vertical lines >at random intervals trying to make it 'fit' the page. It can do it if it wants, via the appropriate printer.device call >And though the >Canon vertical DPI is not the same as the horizontal DPI, if I patch the >driver to MAKE them the same, I ought to get no horizontal double-lines >if I'm getting no vertical ones, but that is not the case. I'd rather >stretch the image slightly vertically and not suffer re-sampling distortion >than get a 100% correct aspect ratio MOST OF THE TIME. um, the aspecting isn't random, it follows a (probably fairly standard) algorithm. Why not use one of the screen dump programs available and see if the no-aspecting is what you really want ? > >So ok, Commodore, you laid off your printer driver expert. So what are >you going to do NOW? What are the rest of us going to do NOW? > We didn't lay off the person who wrote most of the graphic drivers. He left on his own to persure fame and fortune as an independent software developer. So, ok, Keith, when are you going to send the source to the drivers you're having trouble with ? And when are you going to to get a screen dump program and start playing with the flags on thecall to dump the screen so you can get a real idea of what's going on ? >Keith Doyle ># {ucbvax,ihnp4,decvax}!trwrb!cadovax!keithd ># cadovax!keithd@ucla-locus.arpa andy finkel -- andy finkel Commodore/Amiga {ihnp4|seismo|allegra}!cbmvax!andy /or/ pyramid!amiga!andy Any expressed opinions are mine; but feel free to share. I disclaim all responsibilities, all shapes, all sizes, all colors. "Never make anything simple and efficient when it can be complex and wonderful."
gregor@tikal.UUCP (02/03/87)
In article <3326@cbosgd.ATT.COM> gwe@cbosgd.UUCP (Bill Thacker) writes: >In article <1366@cadovax.UUCP> keithd@cadovax.UUCP (PUT YOUR NAME HERE) writes: >>And, it sure is a pain to try to 'cancel' a print job, most of these programs >>(except Dpaint II) don't provide a print cancel option. It would seem >>reasonable to provide this within the printer.device or the OS somewhere >>since obviously the Application writers aren't doing it. (Kill -9 anyone?) I found something that may help you. Turn your printer off-line. In a few minutes, a requester alerting you to printer trouble will appear. (this may require the printer cable to be wired correctly) Select cancel, and usually the print job will end. Gregor Harrison -- EMAIL: {uw-beaver, fluke}!tikal!gregor QUOTE: "Sticks and stones may break my bones, but so what?" DISCLAIMER: "All opinions found above are my personal property, and not that of Teltone, Inc."
wagner@utcs.UUCP (02/04/87)
Keith was looking for a way of cancelling a print that's part way done. I also feel the need. A quick (but not very satisfying) fix is to make the printer not ready. A minute later, a requester comes up saying that your printer is broken. You then select cancel. Works every time. Michael
papa@bacall.UUCP (02/07/87)
> > >And, it sure is a pain to try to 'cancel' a print job, most of these programs > >(except Dpaint II) don't provide a print cancel option. It would seem > >reasonable to provide this within the printer.device or the OS somewhere > >since obviously the Application writers aren't doing it. (Kill -9 anyone?) > > The escape key usually did this on the Apple. When you've made a mistake, it's > MADDENING to have to wait 20 minutes for the stupid thing to stop. > An easy trick to stop the printer if you have made a mistake is to turn the printer OFF! Wait for about 30 seconds, a system requester will come up. Click on Cancel, and the call to the printer device will return to the program, and you can go on with your work without having to wait minutes for the dump to be finished (and discarded 8-). -- Marco Papa Felsina Software
kaz@cadovax.UUCP (02/09/87)
In article <1987Feb4.154157.11126@utcs.uucp> wagner@utcs.UUCP (Michael Wagner) writes: >Keith was looking for a way of cancelling a print that's part way done. >I also feel the need. A quick (but not very satisfying) fix is to make >the printer not ready. A minute later, a requester comes up saying that >your printer is broken. You then select cancel. Works every time. > >Michael Unfortunately, the requester can and does come up again and again. This occurs whenever the printing program calls DumpRPort for only a portion of the entire printout, and does not check for errors between each call. For example, DeluxePrint prints a greeting card in three parts; The backside of the card, the middle of the card and the frontside of the card. This means three cancels are required, and at least 30 seconds go by between each printer-problem requester. NotePad is an interesting example. A small note may only require 1 cancel, but a full screen note requires several cancels. I hope a new version of notepad is released that handles cancel print in a clean manner -- like deluxe paint II. Its all very well for Commodore to say it's the application writer's responsibility to make use of the printer.device features, but it is obvious their own applications don't set very good examples in these areas. Of course they only had the RKM manual example to work from, like us :-) I noticed an interesting "feature" with notepad recently. Print a note using "small" which is the size of the original note window. Next print it again but first enlarge or shrink the window. You will see the size of the text get very small or super large as the auto-scaling of the dump rast port takes effect. I was suprised by this because I thought changing the window size would only adjust how much text I could enter, not change the size of the text itself. Personally, I don't like having the text size change, and is another reason I would like the printer.device to be less "flexible". Kerry Zimmerman # {ucbvax,ihnp4,decvax}!trwrb!cadovax!kaz # cadovax!kaz@ucla-locus.arpa