Akceleracja wydruku
Jest dosyć sporo programów do drukowania grafiki a wszystkie analizują obraz dosyć podobnie (bo inaczej się nie da) tak, aby dopasować poziomy zapis danych obrazu w Atari do (najczęściej) pionowego ułożenia igieł w drukarkach.
Efektem tego jest stała ilość przeliczeń oraz podobna ilość danych które do drukarki przesłać trzeba, a to z kolei wprost określa czas drukowania. Tutaj pojawia się pytanie czemu nie dokonywana jest choćby najprostsza optymalizacja ?
Spójrzmy na obrazek z logo programu SONDA.
Obraz ma rozmiary 320 na 192 punkty, w pamięci Atari to 7680 bajtów. Przekształcenie go na dane zjadliwe dla drukarki igłowej wygeneruje tyleż samo bajtów, trzeba je jednak opakować kodami kontrolnymi standardu w jakim pracuje drukarka co da maksymalnie kilka procent narzutu.
Dane przesyłane są najczęściej w „liniach druku” i jak widać poniżej w zasadzie dane do drukowania pierwszej linii kończą się już na 197 bajcie ponieważ cała reszta do końca linii to bajty o wartości 0, a tych drukarka nie drukuje. Czeka natomiast cierpliwie na ich mozolny przesył z Atari. Zupełnie niepotrzebnie.
Taką analizę można wykonać bardzo łatwo, w przypadku logo SONDY ilość danych jakie trzeba wysłać do drukarki zmniejsza się znacząco, a czas drukowania skraca aż o 25%.
Czy można to samo zrobić z lewą częścią obrazu ? Oczywiście. A może sprawdzić też górę i dół ? Jak najbardziej. Jak ? Wiem, lecz nie powiem.
Szybszego drukowania 🙂