freenode/#clim - IRC Chatlog
Search
13:23:58
fittestbits
Hi all - I got mcclim running on mezzano directly on HW and performance was horrible. Really glacial. Admittedly, it's was on a low end laptop, but is anyone
13:27:15
jackdaniel
a lot of generic function dispatching is involved for each single operation, so if mezzano doesn't perform it fast, then this might be a bottleneck
13:29:14
fittestbits
m going to get back to working on the mcclim port. Would like to get it merged back into the mainline.
13:30:34
fittestbits
It needs some cleanup though. for example, I'm using slot-value way too often instead of having accessor functions.
13:30:58
fittestbits
And, of course, it will need review. I expect there will be lots of changes from that as well.
13:31:44
jackdaniel
you may go with with-accessors, but if you are sure that no auxilliary functions are relevant there, then slot-value may be just fine if it improves already terrible performance
13:35:36
fittestbits
froggey: any comment on performance of slot-value versus accessors versus (with-slots ...)?
13:41:09
froggey
I think accessors should be faster, but there's not much in it if slot-value is called with a known slot name (slot-value foo 'slot). with-slots is built on slot-value and has the same performance
13:42:50
froggey
most of the perf issues are probably mezzano-related. the compiler isn't so great in places and method dispatch can get really slow when there are methods with eql specializers and specializers on multiple arguments
13:50:53
jackdaniel
fittestbits: clx-fb sends an image via wire-protocol after drawing it in the memory – how does it work on mezzano port?
13:51:31
jackdaniel
because there is an optimization possible if you can take a framebuffer to draw on it directly (no need to copy image and blit it after drawing)
13:53:50
jackdaniel
so is it possible to just pass the framebuffer to the renderer to draw directly?
13:54:01
fittestbits
I'll look into that. Also, I think there are places where the common case can be optimized while still handling the general case in some of the clipping routines.
13:55:04
jackdaniel
go for it, I have (shamefully) a very unproductive period with my coding lately, I've failed to find the cause yet (maybe I'm just a very lazy person though)
13:55:43
fittestbits
It should be possible to pass the framebuffer. Mezzano may even use double buffering at the framebuffer level, it's been a while since I looked at it.
13:56:25
jackdaniel
alright. in that case you should see a noticeable speedup when you do that (I think)