home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
08
/
ami015.txt
< prev
next >
Wrap
Text File
|
1997-04-07
|
7KB
|
144 lines
DLACZEGO AMIGI WOLNO DRUKUJÂ?
<lead>Wiele listów dotyczy wspóîpracy Amigi z drukarkami. Oprócz
nieômiertelnego tematu polskich liter, przewija sië takûe
pytanie: dlaczego Amiga drukuje znacznie wolniej niû pecet?
<a>Stanisîaw Szczygieî (Stanley)
<txt>Zacznijmy od wyróûnienia dwóch podstawowych trybów druku:
niezaleûnie od typu zastosowanej drukarki. Pierwszy z nich to tryb
tekstowy, drugi, jak îatwo sië domyôliê, graficzny.
<sr>Zasada pracy drukarki w trybie tekstowym
<txt>Zasada ta jest bardzo prosta. Kaûdemu znakowi dostëpnemu na
komputerze -- literze, cyfrze czy innemu znakowi specjalnemu --
przypisany jest pewien kod. Kod ten jest niepowtarzalny --
odpowiada mu tylko jeden znak. Na ôwiecie jest znanych
kilkanaôcie (a naprawdë jeszcze wiëcej, lecz o daleko mniejszym
znaczeniu) konkretnych standardów przypisaï (ISO, ASCII, strony
kodowe...), uzupeînionych o okreôlone, waûne dla drukarki,
sekwencje specjalne, umoûliwiajâce sterowanie jej innymi
funkcjami. Producenci drukarek wyposaûajâ je z kolei w tablice
znaków, które zawierajâ opracowane ksztaîty znaków wraz z
przypisanymi im odpowiednimi kodami (czësto jest kilka typów
przypisaï kodów -- umoûliwia to poprawnâ pracë drukarki przy
róûnych stosowanych standardach). Podobnie wyglâda sprawa kodów
specjalnych. W efekcie zamiast rozbijaê znak z ekranu na kolejne
bajty danych, wysyîaê je, przetwarzaê na odpowiedni ksztaît na
drukarce, wystarczy proste wysîanie samego jednobajtowego kodu,
przy zgodnoôci standardu przypisaï znaków komputera i drukarki.
Drukarka sama siëga po juû posiadany wzór w tabeli i moûe go
bîyskawicznie wydrukowaê. Krótki czas oczekiwania na tak
otrzymywany wydruk jest tu naprawdë waûnym czynnikiem.
Metoda ta jest bardzo szybka, ale ma powaûnâ wadë. Otóû
nawet przy peînej zgodnoôci tabel kodowych wydruk ograniczony
jest wyîâcznie do posiadanych w tabeli wewnâtrz drukarki znaków i
ewentualnie wzorków tzw. semigraficznych. Nie jest wîaôciwie
moûliwe drukowanie jakichkolwiek, tym bardziej precyzyjnych,
obrazków.
Niestety, sprawia to takûe kîopot nam -- Polakom. Wiele,
szczególnie starszych drukarek, nie ma wzorców polskich liter (w
jakimkolwiek standardzie). Moûna to czasem ominâê poprzez
wprogramowanie specjalnych znaków "na bieûâco" do drukarki (tzw.
download characters), ale spowalnia to druk, a zresztâ nie zawsze
jest to moûliwe, czy teû liczba znaków moûliwych do
przeprogramowania jest mniejsza od tej, jakiej potrzebujemy.
Trudno teû czësto wprowadziê potrzebne znaki pod konkretny numer
kodu -- wiele z nich jest nierzadko caîkowicie zablokowanych
przed zmianami.
<sr>Zasada pracy drukarki w trybie graficznym
<txt>Zupeînie inaczej w tym trybie pracy. Tutaj kaûdy element
grafiki przenoszony jest punkt po punkcie. W efekcie zamiast
jednego kodu na kilkanaôcie poziomych punktów pojedynczego znaku
trzeba przesîaê tyle wîaônie kolejnych informacji! Pojedynczy
znak zwykîej 9-igîowej drukarki opracowywany jest w matrycy
punktowej 8 x 8. W trybie tekstowym ksztaît znaku przekazywany
byî jednym kodem, teraz potrzeba na to 8 x 8 = 64(!) wartoôci! A
im wyûsza rozdzielczoôê druku, tym wiëcej trzeba ich przekazaê...
Samo to powoduje wielokrotne spowolnienie pracy w trybie
graficznym. Ale za to nie ma ksztaîtu, którego nie moûna by byîo
w ten sposób wydrukowaê!
Zaletâ tego sposobu druku jest wiëc olbrzymi zakres moûliwoôci,
okupiony jednak znacznie wolniejszâ pracâ.
<sr>Moûliwoôci przyspieszania druku
<txt>Dane wysyîane przez komputer portem równolegîym mogâ mieê
prëdkoôê nawet i kilkuset kilobajtów na sekundë. Prëdkoôê samego
druku to natomiast zaledwie kilkaset znaków na sekundë... Tym
samym drukarka moûe znaczâco opóúniaê proces drukowania, a przez
to blokowaê komputer! Sâ róûne metody obchodzenia tego problemu.
Najczëôciej uûywanâ jest zastosowanie wewnëtrznego bufora
pamiëciowego w drukarce. Przekazywane z duûâ prëdkoôciâ dane
wprowadzane sâ najpierw do wewnëtrznej pamiëci drukarki (ma ona
od kilku do kilkuset kilobajtów, a w drukarkach laserowych nawet
kilka megabajtów!) i dopiero stamtâd "przenoszone" sâ w postaci
rysunku na papier. Jeôli wiëc objëtoôê drukowanego rysunku jest
mniejsza od wielkoôci bufora, to komputer wysyîa go bîyskawicznie
do drukarki i moûe sië zajâê kolejnymi obliczeniami. Co jednak,
gdy bufor jest zbyt maîy? Wówczas warto siëgnâê do pamiëci
dostëpnej w komputerze lub na twardym dysku i tam zrobiê taki
roboczy bufor. I tu w Amidze jest kîopot: podstawowe
oprogramowanie (Workbench) nie umoûliwia utworzenia takiego
bufora!
<sr>Jak to robiê na Amidze?
<txt>Wyjôê jest kilka. Po pierwsze zamiast drukowaê bezpoôrednio
na drukarkë, spróbujmy otrzymaê rysunek w postaci gotowego do
druku pliku binarnego -- w pamiëci komputera (jeôli mamy jej
wystarczajâco duûo) bâdú na twardym dysku. Dopiero póúniej,
choêby komendâ "copy", przesyîamy jâ w osobnym tasku na drukarkë:
drukowanie zaczyna dziaîaê w tle pracy programu, a my nie musimy
niecierpliwie czekaê na jego ukoïczenie, by cokolwiek nowego w
programie zrobiê. Sposób ten jest szczególnie skuteczny, gdy
wydruk robiony jest do pamiëci RAM -- prëdkoôê drukowania jest
wówczas wîaôciwie najwyûsza. Pamiëtajmy tylko, ûe rysunek w duûej
rozdzielczoôci na drukarkë laserowâ moûe mieê i kilka megabajtów...
W peîni profesjonalnym rozwiâzaniem jest jednak inna (choê na
podobnej metodzie dziaîajâca) forma "przechwytywania" druku. Otóû
konieczne jest zainstalowanie specjalnego programu, który bëdzie
automatycznie wykrywaî wszystkie kierowane na drukarkë sygnaîy
(przecieû na Amidze kilka programów jednoczeônie moûe chcieê coô
drukowaê...), automatycznie kierowaê je do buforów w pamiëci
(bâdú na twardym dysku), a nastëpnie w kolejnoôci wysyîaê na
drukarkë. Generalnie taki program nazywany jest menedûerem
wydruku (i np. w Windows dziaîa rzeczywiôcie sprawnie, a w
systemie Amigi go nie ma...). Na szczëôcie na rynku jest
dostëpnych przynajmniej kilka rozwiâzaï shareware'owych. Z
jednego z nich sam regularnie korzystam.
<sr>Siëgnijmy po ideaî
<txt>Rozwiâzaniem najlepszym, jednak wymagajâcym naprawdë niezîej
wiedzy o Amidze, byîaby gruntowna "renowacja" workbenchowych
sterowników drukarek, aby obficiej i wydajniej korzystaîy z
wolnej pamiëci! Obecnie dostëpne nam sterowniki robiâ to
baaaardzo oszczëdnie. Dziëki temu moûemy je wykorzystywaê nawet
na Amidze 500 z bardzo niewielkâ iloôciâ pamiëci, ale prëdkoôê
pozostawia wiele do ûyczenia. Tym bardziej nie ma co wspominaê o
driverach korzystajâcych z procesorów 020/040 czy o
koprocesorze... Podobnie sprawa ma sië takûe z innymi,
doîâczanymi do niektórych programów (np. PageStream),
sterownikami. Czasami ich prëdkoôê druku moûe po prostu dobiê
(ôrednio skomplikowany rysunek na pececie drukuje sië juû po
kilkunastu sekundach, a na Amidze 4000/030 po 2, 3 minutach!!!).
Warto moûe spojrzeê na niemaîe osiâgniëcia konkurenta. W tej
dziedzinie pecet moûe i nam byê wzorem. Tymczasem siëgajmy i
po wspomniane wczeôniej propozycje. Druk do pamiëci i dopiero
póúniejsze przerzucenie pliku binarnego trwa czasem nawet dwa
razy krócej niû bezpoôredni druk! Polecam wiëc eksperymenty. Moûe
wôród naszych Czytelników znajdzie sië ktoô, kto przedstawi nam
wîasny pomysî, a moûe zaprezentuje wîasnâ realizacjë? Zapraszamy!