Yes - use a
cache form for drawing the points directly and pass the entire image to
FormCanvas, ala:
"Create some
random points"
rnd _ Random
new.
points _ (1 to: 5000) collect:[:i| (rnd next @ rnd next * 400)
asIntegerPoint].
"Make us a
canvas"
fc _ FormCanvas on: Display.
"Create a cached form
for drawing all these points"
cacheForm _ Form extent: 400@400 depth: Display
depth.
"Setup
BB"
bb _ BitBlt toForm: cacheForm.
bb combinationRule: Form over.
bb
width: 1; height: 1.
bb fillColor: Color red.
"Now draw
these points offscreen"
points do:[:pt| bb destOrigin: pt;
copyBits].
"And finally
paint the entire image"
fc paintImage: cacheForm at: 0@0.
This should
be a lot faster than anything else.
-
Andreas
-----Original Message-----
From: Gerardo Richarte
[mailto:core.lists.squeak@core-sdi.com]
Sent: Tuesday, May 02, 2000
6:20 PM
To: squeak@cs.uiuc.edu
Cc: recipient list not
shown
Subject: Re: BitBlt >> #pixelAt:put: speed
Andres Valloud wrote:
> > Is there anything faster I can do? for example using Balloon
somehow?
>
> Are you trying to do that directly on the World's
canvas? Did you try to
> draw them in a buffer and then draw the buffer
form?
Eh! Andres! (que haces? como va todo por ahi?)
I'm not sure what am I doing, I'm just drawing on the
canvas I get as argument
in Morph >> #drawOn:
So you think I should use an intermediate Canvas for this?
Thanks!
Liencistas Bye! (just for spanish
speaking people, sorry)
Richie++
--
A390 1BBA 2C58 D679 5A71 - 86F9 404F 4B53 3944 C2D0
Investigacion y Desarrollo - CoreLabs - Core SDI
http://www.core-sdi.com
--- For a personal reply use gera@core-sdi.com