Re: Thanx
- Posted by The AfterBeat <afterbeat at GEOCITIES.COM> Jan 23, 1999
- 606 views
You're welcome! :) When I commented out the line that waited for the vertical retrace, it still went smooth for me, but that's probably because I got a pretty fast cpu (PII-400MHz).. Heh. Oh yeah, and if I ever find the location for the characters 128 thru 255, I'll tell ya. *Goes and downloads ASMEdit, hoping he can find it again* The AfterBeat Tor Bernhard Gausen wrote: > I just want to thank everyone for responding to my inquiry > about my silly scrolltext routine> > A few comments though: > > Robert Craig says: > > As for your smooth scrolling program, it spends over 95% > > of it's time doing mem_copy() of 64000 bytes. Euphoria's > > mem_copy() calls C's memcpy(). I don't think you could > > run your program more than about 1% faster in C. I believe > > that writes to screen memory are much slower than writes > > to general DRAM addresses, because of the lack of caching. > > Then the memcpy() command is probably assembled, right? > Does this mean it wouldn't even be much faster in pure > machine code? I mean; copying 64000 bytes from one place > to another should not be any challenge for a modern processor, > even in high-level language, so is the caching problems simply an > unavoidable hardware bottle-neck? > > Afterbeat says: > > I tested out that program, and I found that it goes faster, > > and the text doesn't shake, when you take out the > > vertical retrace routine. > > Yes, but then it's not smooth at all ! > Afterbeat also helped me find the standard charset, thanx! > > Lucius L. Hilley III also answered some of my questions, > but perhaps the most helpful and enlightening answer came > from Jiri Babor: > > > In recent years I really had to use a wait_retrace routine > > only when I was messing around with page switching. > > Otherwise the 'modern' hardware does not seem to need it. > > I ran your scroller and it was reasonably smooth at the > > lowest speed setting after I commented out the line with > > the wait_retrace call. > > Exactly. 'Reasonably smooth'. > > I have mentioned the Commodore 64 earlier. This is a machine > people now-a-days use as a standardized symbol of old fashion, > out classed, stone age computer technology. > > But among game and demo programmers on the 64 one rule was > crystal clear: If it wasn't perfectly smooth, it wasn't worth watching. > > Those days, 'Reasonably smooth' was just not smooth enough...
> > > BTW, you should never rely on the hardware to dictate the > > top speed. Everybody's machine will be ten times faster > > in three years time. > > I'd say about 4 times faster, wanna bet ?
> > > maximum speed, even if you never get anywhere near it > > with your present gear. In a decade or so software > > archeologists will praise you for it... > > I guess you are right, but calling the time() function also > steal raster. With the time delayer (even when set to zero > delay, but still calling time(), it seems impossible to get > anything smooth... > > ( Then Jiri guides me through some font problems, thanks again
> > > You also mentioned drawing lines, circles, etc. on virtual > > screens. Have a look at my vgraph.e in the Archives. > > It is pretty old and neglected, but it does lines, ellipses > > and polygons reasonably fast. > > Just what I was looking for ! > > Anyway, since I'm a natural quitter, I'm gonna give > up the silly "smooth scrolling project" for now. > > I'm never gonna quit Euphoria, though... > > Tor Bernhard Gausen