[REBOL] Re: Graph Drawing & /View Performance
From: petr:krenzelok:trz:cz at: 7-May-2002 0:02
Hello Christian,
Christian Langreiter wrote:
>I've spent most of today with porting the algorithm behind the
>fantastic TouchGraph applet (http://www.touchgraph.com) to
>REBOL/View. Originally I intended only to output the node coordinates
>after, say, 1000 iterations to handle final display to Flash or
>whatever.
>
> http://www.langreiter.com/rebol/txrx/txrx-1.r
>
>Just to make sure everything was okay I visualized the result with
>REBOL/View, and - shock! - was just amazed at how fast it was (I've
>also ported the algorithm to Flash/ActionScript - it's pretty much
>impossible to increase the number of nodes to over 15 or even 20 -
>REBOL/View seems to be a whole lot faster).
>
Well, I tried Cyphre's Arcadia game engine. It gives me some 14 - 16fps
on 1280x1024 display, on my Athlon 1.4 GHz :-) Cyphre uses final
composition into draw block - so View just uses draw dialect to place
all the objects into final scene, going for refresh, if I understand it
correctly ...
OTOH I also remember Cyphre's comments re 'draw painfull slowness in
some situations, and also not so well finished feature set. Compromises
can be found on various places. I think it needs to be adressed, or View
will stay limited. It is good engine, it just needs some
changes/additions, as:
- ability to hide mouse and replace it by nested faces (somewhere in
system structure) for kiosk systems
- ability to have transparent top most face?
- rotate effect
- effect for alpha channel (gradient to alpha channel etc.)
- simultaneous key-presses
- MUCH better sound support ... I only saw Olivier's game and it is not
usable with sound at all ...
- IIRC it was said View uses internally some math engine to generate
effects (convolution?) (used for blur) ... if it could be used for fast
user custom effects, it should be exposed to the language level (I
remember Holger stating it will not become RT's priority, unless there
is business side interest :-( ... at least we know something like that
is possible) ... or at least change-each with custom dialect (Core 2.6
will introduce remove-each series [dialect here ...])
- removing timeouts without hiding a face thru face/changes ...
- ability to produce events (if achievable in cross platform manner)
Well, we know what comes for Core 2.6 (at least partially), maybe RT
could tell us, what is planned for View 1.3? Is it only a few changes to
VID? At least some View kernel changes could be introduced, to allow
some of us boost their activities in respective areas ...
Cheers,
-pekr-