1. Text I/O speed

Adam H. Jackson writes:
> However, interestingly it will not draw in BLACK! I imagine that this is
> because BLACK is transparent. Can anybody clarify / confirm this?

Yes, it seems that BLACK is transparent. I tried a 16-color and a 256-color
mode.
I was only vaguely aware of this before now. This could be useful in
many applications, e.g. display_image() could print a shape
on top of a background and the shape could be irregular and contain
transparent "holes".

> P.S. I have only been using Euphoria for the first time last week and am
> very impressed. So far the only dispointment is the speed of the output
> of text to the screen and input from the key board. (The buffer fills
> faster than Euphoria can read it.) I imagine that this is because it
> is
> controlled through DOS and not direct. Anybody got a solution or include
> that might help?

Writing characters to the screen, one at a time, is quite slow due to DOS
overhead. It's particularly slow if you are in a graphics mode
(as opposed to a text mode).
Try to write a long string of characters with a single puts() wherever possible.
If you are desperate you can try poking characters into screen memory.
The Euphoria editor seems to do ok by either writing a whole line to the screen
at one time, or (when color syntax highlighting is in effect) writing pieces of
a line
that are all one color. A long time ago, ed used to write one character at a
time.
This was fine under Atari TOS, but was pretty bad when Euphoria was ported to
DOS.

As for input of characters, I believe you can perform get_key() or getc(0) at
the rate of thousands per second. I don't think you can type that fast. Maybe
the
program you were using was doing a lot of other stuff in between reading
characters.
If you hit page-down in ed it will have to print a couple of thousand characters
to the screen before it can read the next key.

Rob Craig
Rapid Deployment Software

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu