FreetypeFont rendering is alot slower than StrikeFont rendering. There's surely some microoptimizations possible, but one big (theoretical at least) macro-level enhancement is: - Currently, morphs by default do not respect the damagerect when rendering submorphs, instead clipping by its own clippingBounds. Which means however small the damage to the window was, all submorphs WILL be redrawn. Attached is a changeset which changes this, instead intersecting the Morphs clippingBounds with the Canvas' current clipRect. Sadly, this will NOT improve typing performance by itself, as another problem here is Morphs reporting waaaay too big damage rects in alot of cases. (try evaluating (Preferences preferenceAt: #debugShowDamage) preferenceValue: true, and see the damage reported by a single keypress...) This has to be rectified on a Morph by Morph basis, as well as making the displayOn: method use the clipRect intelligently (see MultiNewParagraph >> displayOn:using:at: for an example of this ). Personally, I'm not affected enough to fuel the passion to do this, but if anyone are, I suspect the steps described above are the ones which will yield the best results, performancewise. So what's the changeset currently good for? (Non-fastForMorphic)resizing of a simple morph that occludes only some of another SystemWindow's submorphs should see some improvements. Resizing a window with nothing below will probably suffer abit due to the extra operation/garbage from the intersect: though. I haven't had access to a slow enough machine to have visual confirmation, nor any automated tests to test resizing performance, so take it with a grain of salt as this is purely in theory :) (Or file it in and do a quick visual check of the effects described above if you're on a slow machine) Cheers, Henry On 18.05.2009 16:08, Adrian Lienhard wrote:
I also noticed the slow responsiveness (and I am on a quite fast machine). Adrian
On May 18, 2009, at 15:57 , Schwab,Wilhelm K wrote:
Damien,
In a word, WOW.
Have you changed the desktop menus somehow? A left click now (I _think_ this is new) gives me a find-window menu, and it takes a right click to get the world menu, which looks different to me. Wait - this might just be themes? I seleected Vistary and things are back to "normal."
One snag: I find this image to very sluggish on typing. In fairness I am running Ubuntu on an older machine that isn't the fastest, but it is still far more sluggish than even my recent web image (10303), and that (I think) has lost some speed too. Sorry to keep harping on this, but I type pretty fast (enough to draw complaints in a crowded room). Maybe there is so much noise because every third key is the backspace :)
The anti-aliased fonts are wonderful, but for me at least, snappy response to the keyboard is more important. Having both would be great!
Bill
________________________________________ From: pharo-project-bounces@lists.gforge.inria.fr [pharo-project-bounces@lists.gforge.inria.fr ] On Behalf Of Damien Cassou [damien.cassou@gmail.com] Sent: Monday, May 18, 2009 8:02 AM To: Pharo-project@lists.gforge.inria.fr Subject: Re: [Pharo-project] New Pharo based on core 10309 with antialiased fonts
On Mon, May 18, 2009 at 1:51 PM, Adrian Lienhard<adi@netstyle.ch> wrote:
I agree with Lukas, Bill, and Simon (that is, to change the default font to DejaVu Sans).
Ok, here is the new version. What do you think?
font := LogicalFont familyName: 'DejaVu Sans' pointSize: 10. codeFont := LogicalFont familyName: 'DejaVu Sans Mono' pointSize: 9. titleFont := LogicalFont familyName: 'DejaVu Serif' pointSize: 11.
Preferences setListFontTo: font. Preferences setMenuFontTo: font. Preferences setCodeFontTo: codeFont. Preferences setButtonFontTo: font. Preferences setSystemFontTo: font. Preferences setWindowTitleFontTo: titleFont.
-- Damien Cassou http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project