World: r3wp
[View] discuss view related issues
older newer | first last |
Maxim 21-May-2009 [8834] | seems I can use my glayout version of show-popup hide-popup in VID directly , and that works flawlessly in a few tests.... even fixing the inform call indirectly. |
Graham 21-May-2009 [8835x3] | try this view layout [button "inform" [inform layout [button "ok" [] ] ]] |
Looks like a bug. | |
Unless you assume that any popup must have an active button. | |
Maxim 21-May-2009 [8838x4] | but my dialogs don't have a close button in the main pane of the layout (using faces with nested panes). :-( |
I've been looking into this and remembered the source of my fix... I don't use the VID popup-feels in glayout, cause its wake event is smart enough to handle things properly. | |
VID sets the window feel to one of many different feels... :-( so I've got to patch VID again ) | |
arrgh. | |
Henrik 21-May-2009 [8842] | you must use hide-popup to close an inform. |
Gabriele 21-May-2009 [8843] | Max, that's intentional. by default, there needs to be a way to get rid of the modal popup. if you don't provide any, the system will get rid of it on click. do you have an example where you want a modal popup (blocking your app) with no clickable face in it? |
Maxim 21-May-2009 [8844x3] | I did a full analysis of the problem (again, since I had done so with glayout a looooonng time ago) and there is no simple ways to handle the issue with the current view setup. |
part of the problem is that closing the window via the title bar doesn't propely call hide-popup. | |
so I built a new pair of funcs and do the event blocking for non pop ups in my event-handler. | |
Henrik 21-May-2009 [8847] | I don't have a PC keyboard, but does View support overwrite/insert switcing? |
Maxim 21-May-2009 [8848] | not AFAIK, but using windows api, you surely can. |
Henrik 21-May-2009 [8849] | hmm... I thought it was a matter of doing some changes in CTX-TEXT. but if I get this right, it won't matter. |
RobertS 22-May-2009 [8850] | . |
Gabriele 23-May-2009 [8851] | Max, how much time ago did you do your "analysis"? The modal system was rewritten almost from scratch in view 1.3. Did you post the bugs you had found? |
Maxim 23-May-2009 [8852x2] | a long time ago. the problems where that it was missing some things like opt support in show-popup and some other thing. and the show-popup selection of feels didn't make it very predictable. with my custom wake-event/window-feel pair, it just went haywire. so I rewrote both so that they would work better within glayout's revised management of view layer. for example in glayout... the view function has a /modal and a /center refinements... these make many things much simpler to use... I rarely use show-popup within the app, cause the glayout's view command supports it directly. |
(modality that is.) | |
Graham 23-May-2009 [8854] | Is Cyphre's gui console source around anywhere? |
Pekr 23-May-2009 [8855] | start a desktop, go to Sites/Cyphre ... there is vconsole script ... |
Graham 23-May-2009 [8856] | ahh.. simple |
Maxim 23-May-2009 [8857] | anyone know a way to trigger event code at a rate faster than 15 times a second within a view wait?... the view rate is REALLY imprecise and doesn't go above 15 ticks a second in my tests. strangely this has nothing to do with possible refresh rate which can bo well beyond 15 frames a second. |
Steeve 24-May-2009 [8858] | What do you try to do ? An animation ? |
Maxim 24-May-2009 [8859x4] | that and / or better interactive feedback when the refresh can support it. |
right now I'm testing a forever loop ... | |
but if there is something builtin that can precisely trigger precisely the rate we ask it, I'd prefer to go with that. | |
right now asking for a rate is always about 66-75% off, even using wait 1 / 30 or 1/100 will consistently be off by a window of 66% to 75% | |
Steeve 24-May-2009 [8863x2] | there is not to my mind. |
i have this limit too in some scripts | |
Maxim 24-May-2009 [8865x2] | its funny cause if I do a timed wait 0, I go up to over 100000 iterations a second. |
so clearly, the rebol event engine is capable of much higher throughput than its allowing. | |
Steeve 24-May-2009 [8867x2] | he can but it's a design limit. |
the rate you enter on a face is not taken in account. Time events are always throwed at the same rate. Then there is some internal counter for each face which have a rate value, to know when the time events must be dispatched to them. I don't know if i'm clear... | |
Maxim 24-May-2009 [8869x3] | the rate is taken into account if you set it before opening the window, but cannot be changed after. |
but beyond 5 / second, is progressively gets off by the above percentages. up to a maximum of 15/s when you put it at 24 | |
but I am now building a precise timed function which is taking 1% cpu and can go up to 60 frames/second consistently. | |
Steeve 24-May-2009 [8872] | wrong, it can be, but you must do a refresh on the face, after changing his rate |
Maxim 24-May-2009 [8873] | beyond that and the wait goes into madness mode and consumes 100% (of one core) |
Steeve 24-May-2009 [8874] | What i mean, is that, there is 2 rates. One for the inner event handler which is always the same (the limit you pointed 15 ev/sec) And the rate of the face, wich is basically a counter |
Maxim 24-May-2009 [8875x2] | this might have been fixed in a later view, cause it didn't update before. |
ah ok. | |
Steeve 24-May-2009 [8877x3] | So even if you fix a low rate 1 ev/minutes on a face, The time events continue to be send at a rate of 15 ev/sec in the inner event handler. It can be the reason why it consumes so much time |
i got the problem in area-tc | |
and there is another one problem, It consumes time and memory, you have to to do frequent recycles. | |
Maxim 24-May-2009 [8880x2] | I've never had any memory issues with recycling... do you put recycle to off? |
(when rate is used) | |
Steeve 24-May-2009 [8882] | no, but i saw that when the time rate is activated it consumes memory, some mega, i don't like that |
Maxim 24-May-2009 [8883] | seems the lack of resolution from the /precise flag is the source of the offset in what you ask and what you get. I bet on a linux box, it would be much more precise. |
older newer | first last |