freenode/#clim - IRC Chatlog
Search
13:44:55
ebrasca
I have try with image-transform-demo.lisp and image-viewer.lisp. My code is from image-transform-demo.lisp .
14:57:50
jackdaniel
loke: more I think about clipboard more I'm convinced request should return synchronously (nb: I have a clear idea about implementation)
14:59:18
loke
You can see what happens if you put a SLEEP in the function that returns the clipboard content
14:59:35
loke
Then try to paste into... hmm... I think Chrome, or was it Firefox? One of them uses a synchronous API
15:00:39
jackdaniel
also when user wants to paste something, then he clearly wants synchronous operation
15:01:21
loke
As you may have seen from my previous questions and things I talked about while building this, it's not as straightforward as one might think, and there is often no "obvious" best way to do things.
15:12:30
loke
jackdaniel: I just thought of a problem with synchronous access though... What if the owner and requestor is in the same process, and the requestor holds a lock that is needed when the "supplier" generates the output. You'll end up with a deadlock.
15:14:29
jackdaniel
publish and request is always called from CLIM process, events are processed as always only in port process
15:18:18
jackdaniel
it may be much faster as it is specified, it is a matter of optimizing slow code paths
15:19:29
beach
ebrasca: CLIM is a big specification. Getting it right is already hard, and many people are still working on that. Making it faster is important but less so that getting it right.
15:20:39
jackdaniel
we do not support double buffering, so they are very apparent for frames which have many output records
15:21:23
jackdaniel
many things are suboptimal as well (like patterns – images included); rendering images will be improved when we switch to xrender
15:21:43
jackdaniel
instead of transforming them in software they will be rendered by x11 with transformation
15:23:33
jackdaniel
like xf86-video-intel which provides hardware support for some drawing primitives
15:25:47
jackdaniel
having hardware capable of speeding operations 100x is just a half of the story, you need to have apis to access this hardware capabilities
15:31:22
loke
With X11 you get hardware acceleration for Xrender. You can see the incredible difference in performance between the software and Xrender version of of image transform for example.
15:32:10
loke
So clearly Xrender is the way to go to improve performance in general. I also did a prototype implementation that used Xrender for scrolling. It was very fast. Hoewever, it was unreliable, and requires double-buffering to to work correct, so I never finished that work.
15:33:18
loke
ebrasca: But with it, the image-transform demo is realtime (well, it rotates at 60 fps :-) )
15:39:46
loke
ebrasca: https://peertube.mastodon.host/video-channels/41fdcc1b-a5c3-4f4b-95bb-e5358597c25d/videos
15:44:07
TMA
because the mindset to understand maths is of the same ilk as the mindset of deliberate programming (as opposed to accidental programming, which is "just" some random poking around without understanding or mental model)
15:45:21
jackdaniel
it is called mental discipline. looking at some (very popular software) I have my doubts about that though
15:46:15
jackdaniel
but there is not much value in such differentiation then except saying: programmers with mental discipline have mental discipline and we call that "deliberely programming"
15:57:57
ebrasca
With (ql:quickload :maxima) I get "Failed to find the TRUENAME of /home/ebrasca/quicklisp/local-projects/maxima-code/src/autoconf-variables.lisp:"
16:03:43
loke
ebrasca: Take a look at how the launcher works when you install it normally (using make/make install)
16:06:26
loke
It's slightly different from regular CL applications. The main entry point for text-based Maxima is CL-USER::RUN
18:07:19
jackdaniel
could someone help me interpret process-next-event wait-function behavior? (http://bauhh.dyndns.org:8000/clim-spec/8-1.html#_303)
18:08:30
jackdaniel
why "if the wait function returns true, the predicate should return two values false and :timeout"?
20:13:00
jackdaniel
loke: I've published clipboard3 branch (with changes which doesn't inlcude switch to synchronous requests)
1:32:14
loke
jackdaniel: First comment: I can't shift-middle-click in the text field anymore (still works in the interactor)