On Thu, Apr 5, 2018, 16:09 Henrik Sperre Johansen < henrik.s.johansen@veloxit.no> wrote:
HilaireFernandes wrote
After some more investigation, I think it is not the greated bottleneck.
When I render points not as discs but as Square, Athens is happy. I guess the Cairo way of doing this is very slow because its seems Cairo does not come with dedicated disc rendering code, it must be render with portion of arc, as far as I remember.
If I prevent to render empty text label attached with each point, Athens is even happier. Text font rendering through Athens seems to be slow.
Hilaire
Le 04/04/2018 à 23:05, Hilaire a écrit :
It reduces by 50% the time to execution. Need to check if this trick #1 and #2 are still needed at P7 time.
-- Dr. Geo http://drgeo.eu
My notes after looking at the profile for a short while, if anyone feels the urge to optimize; UFFI:
8.8% {11475ms}
CairoFreetypeFontRenderer>>convertString:len:ofFont:toGlyphs:numGlyphs:x:y:
| 4.7% {6098ms} ExternalAddress>>packToArity: | 4.5% {5789ms} ExternalAddress>>pointerAutoRelease | 2.6% {3439ms} ExternalAddress>>unpackFromArity:
The lifespan of arguments that need arity packing/unpacking is well known, rewriting to use explicit free should lessen the overhead somewhat.
CAIRO:
26.6% {34593ms} CairoFreetypeFontRenderer>>glyphsOf:from:to: | 12.2% {15842ms} CairoGlyphsArray class>>new:
With this kind of overhead just to create the array to hold results, it might be worthwhile to use a buffer array (of sufficient size) for the primitive, and copyFrom:to: to return the actual glyphs...
DRGEO:
20.9% {27116ms} DrGPointMorph>>drawOnAthensCanvas: |16.7% {21720ms} AthensCairoCanvas(AthensCanvas)>>createPath:
Storing the path in DrGPointMorph, rather than recreating for each draw:, should save alot of time.
7.7% {9962ms} DrGTextMorph>>drawOnAthensCanvas: | 7.7% {9962ms} Form>>asAthensPaintOn:
Same thing here, only storing the paint, rather than converting from form each draw.
This would also be beneficial to Roassal when zooming in and out of vusualization with a ton of labels. Phil
Cheers, Henry
-- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html