Thanx
- Posted by Tor Bernhard Gausen <tor.gausen at C2I.NET> Jan 23, 1999
- 664 views
I just want to thank everyone for responding to my inquiry about my silly scrolltext routineA 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