Messages in this thread |  | | From | "Roman Zippel" <> | Date | Sun, 08 Sep 1996 02:21:46 +0100 | Subject | Re: Speeding up screen output for dialog |
| |
Hi Theodore,
> If the speed problem is almost entirely due to moving the cursor, > you don't need to do any buffering, just keep track of the cursor > in software and sync the hardware in flush_chars(). > > Very good point; it's in fact faster because you save a memory copy. It > would mean restructuring the way con_write() works so that the "output a > character" lines are pulled out of its while loop and put into a > procedure, but it would in fact have all of the benefits of buffering > without needing the !@#! buffer. :-)
This might help text consoles, but there are graphics consoles, that would definitly benefit (and maybe other devices too) if more characters are written at once. So I think it's really the best solution to rewrite opost(), that it can write more characters until it must change the output stream. Below I put the new opost() function. I fixed a small bug in console.c (at least I think it's one :), I think that's not a good idea to clear the need_wrap bit in the lf() and ri() functions. BTW could someone tell me why a formfeed or a vertical tab perform a line feed?
bye, Roman
begin 644 tty.gz M'XL(`````````:58ZU/;1A#_+/\52SZ`C2R0C&W\2%((I9-,/#@#R4S3D&J$H M=,::",F53KBTP__>W;N3=/(#DM1?)-W=OG[[N%U;E@51&.=_'P9I>,_2[-"?> M>^FAG\19$K$#_R")`N/*XW#%%F`?0\<>=7NCHQXXPV&_89KFD]3&51Y+R@'81 M]JC7&]E#27ER`E9_X+2/P:1''TY.&F``_HP'TQSCN[%(,C!?P7T8L,3-PG^8# MFR9+VGEL6$;,6.`N4V\!K\#&Q<<&-"#C'@]]N$_"`-*P&<8<_#Q-29V6E#CL% M"8G#;B'1>+"L4IKU,]+"&!%@4JB?K@BU-L,;NYP_%.#6(.H.1_;1D^`JVE6Z> MP0B]4T([[+?[1V#B8]@1AL(^?&#I+$GO8/IA>O41%FGBLRP+X]L#@$O&\S1&] M`!Q8SED,?,X@R?DBYQ"P^]!G$&:"QRR/(O#B0)P@=3R?LQ3N\HS##8.4\31DK MP0&=/6Q8)4(<$L27-_,X"V]C%@A2\-N(89K['-`B5[WNXWNK8:Z1;C[9%B=FI M:7+GYAE+VT"P<ZC+V;_)9_*@G^0Q;S7@7_0I?AO9PO,9:D&/;-RP<%F\HYN11 MN?5:`G^P3$-.\9#<-4F[,5'/H+DCSJ*3#2,5`")^D@GM3ET!M*!HH433$!JTG M(4X+B6T0G.6#LWB,A[898--F?3GWOSA?<9E8DSHUB;A8:+5F2E,@IZ$F`)+@* M2'Y2/X0A3F7(FP;I@._XH*\@$289/BZ5C.`7N&5<O#;Q7`M&0G617]DRY/X<D MFCYA@=^^ES'8NX[W1O15('8QN3PO#*!E0^CN)U%^%TM%+/WPV64)+ZV+#>G`U ME]!IR;6:;TJ6"@Z,<)>PE(CL7:=[+?W4JN!',GE=O%@U;E+F?1.V*F(O3F*W' M9*$QE,S4>:)%IW/,=#;6D$E7D)DJ:;"["S7E4#MEJK*TCM+9Y<6DCA+YC)`?' M5Z"M0"^!>\8*50LUT]<@JF3_*$05YL_`Q!5,9<0.P(*FSFD7CELZ(A]/W_PZ; M^2RQ1/!^Q^^KC1$D63X91DH$7E-E#5D-,2WC[#:\`/5[412!(N#JSM-AW*CP/ M%D`WZO,,A#=:I.E<7E-@K68A79=/\0S8S,LC/M)#<'+VZ4R/+`I`GN2+!=8)A MOS4NA>^$F1_S-,+%=<'4%128[-29"B@J+<I3S3"+DJ40LOE4983`FXB:PE^R1 MT&$D4=53Y=LP5)G>=#ML*JFVJN^M2B7%'1L-Q:LE43:U","2:TG"2K-:]31KX MU=/4/;?YPI+5L"Y#ZO1$H%ZGUS$&::>EG7PN7^N8:H5L8TU0J$I?/:4)Z>$4; M'EPU85/],K^_?IEELJTISK\;W:)2_"#$FVI!A?5:*M>5+!.-EK$5L+^N9)7Y4 M/+2YKP&KZ0VUTB+@J:Y_,,$A[H_8*X81@Z9IBO[!-#%R7U9MQ'/I]+^RB9)$Z M)A%3V2+Z)]FN;[_A?5%MJU)KUJS>UM:7/+Z[?Z4>W.D/:=APA@-\R&&C9.3#: MGV`[-MHD&TI8<WI'&`,LRA@53=D$^\5YLU@I/+DK//F$#;,P#K.YRU*/>OXM( M[;12?'!,BG><?J$X=:YSY@5H,&.QZT5Q?H<!";15)`>&2^#2(;JCM-2C)76]S M'NZK9G[OVMM3IN"@(#:6<QPRL:M\2'(<+L+XVR\T0I@:454//%$/GB&%(J)EK M5$A-?5+N_/+TZMP]>WM:M&]D=,<6WNH<5=XRF#]/I+_>OYM,*@K-:R3_-`C`4 M@Y@M!=HHYOSL[?0]CDR0Q&)8$M_G8F$V.U#*"7TFKMC3+\<"H7A/<_:JNXN:A M*'6H[!2&&M_"*'+YPX+RCC0?"PN[O2Y9V!T<*0L%[4I<5(95QI=19VU5[RGMN M5)7@7AC!C@J-,EC4-*"+JPY@UG\ALJ\ZX(9@]$HR-!WLAZ%YX7[\^-E]\^DW< M]^K='^<62186]T4@=X?]RJ=:$FI1J+8T(`U127[.'\()QFW"$YBC_R/FJN!0R M+B+=>HZ(MUY7B[=5/Y812]);/P<_%1"%,8;J)?.35$WOLM0D,RP-*8Z<(EM%4 M8:M%Z$HFE\E=>5#^X7#4;_?I#X=>>Z#,(6JTZ-Z+6IIU()=D4JK!-4[U<=66A MA<4+`G?IA=S]*V<Y:^X*J?+JI64L>?001JH(<RB8A#((:L=&;8Z';<?1T$7!X M&#G6^;OI^AUGE9U$;6RWJ@C&.X>:-7V,JL;=EC9-U8HU7HG%?*;/2<8--K1XO M[13]]&/9,.NWURS*,3G)*<4<LF6W_&-"W1E*27_[[>K@K4I_1BC%;^C2\>6[6 MO%SEQV,QY6LQII&:%:6I$9KK8)9SZR;35ANE=<M40(E8J;N.EF?H(.OUS)U%` :WFV&%6'J7DPOWDRF9^_)7?\!$P>"5>44``"EE `` end size 1781
|  |