r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!RebGUI] A lightweight alternative to VID

shadwolf
6-Mar-2005
[87x2]
after the draw we '"clear" the memory using recycle
same for anim adding to the feel a recycle call after the show face 
will stabilize the memory usage
Anton
6-Mar-2005
[89x2]
COPY is not needed, though it does not hurt.
Shadwolf, the memory used increases always more and more ?
Vincent
6-Mar-2005
[91]
agree, COPY not needed - just an habit when I modify blocks, but 
here I did it two times wrong:
- the 'draw sub-block is modified, so it should be copy/deep 
- no 'copy needed with 'make, who does copy/deep
shadwolf
6-Mar-2005
[92]
Anton without recycle yes but with it it's stable
Vincent
6-Mar-2005
[93x2]
mmh, after disabling nearly all widgets, it seems that the events 
who eats memory:

even without 'progress, memory is consumed by 4-8ko steps. (just 
going over 'button eats memory)
for 'anim its more visible ('time events),

recycle in 'progress mean recycle at each 'show, so a recycle at 
window level could do the same.
it could be just 'show causing the 4/8ko memory usage.
shadwolf
6-Mar-2005
[95x2]
in fact I think is allacation every time an allocation is done the 
yet existing data is not cleared we yet discus this point on french 
forum we we was working on free-mem fonction
for example: face/effect/draw/box: to pair! reduce [

      to integer! face/size/x * face/data: min 1 max 0 face/data face/size/y
Vincent
6-Mar-2005
[97x2]
but for anim, it's a simple assign
no allocation is done in 'anim
shadwolf
6-Mar-2005
[99x2]
the yet existing data is still in memory at it's image you yet have 
the previous one some where in the memory stack  manage by REBOL 
GC
anim: make face [
		edge:	none
		font:	none
		para:	none
		feel:	make feel [
			engage: func [face act event] [
				if event/type = 'time [
					face/image: first face/data

     face/data: either tail? next face/data [head face/data] [next face/data]
					show face
					recycle
				]
			]
		]
		rate:	1
	]
Vincent
6-Mar-2005
[101]
face/image is just a pointer to an image in face/data
shadwolf
6-Mar-2005
[102x6]
if you use this you will see the no more memory alloc
just comment the recyle and then the memory consumtion is back ...
so there is a direct like I think
with recycle in the anim feel I get 6776ko allocated
and it's stable without it there very mutch allocation before GC 
to be called
after some play on forwar/backward icon-button I get 7600 ko of allocated 
memory without  any recycle call ...
Vincent
6-Mar-2005
[108]
i think 'show use some memory, and don't recycle it
it would be bigger else, something like  n * image size
I tried with bigger images (400x400 instead of 40x40)
and only 16k more is allocated at each time
shadwolf
6-Mar-2005
[109x2]
Vincent in anim: face/data: either tail? next face/data [head face/data] 
[next face/data]
this is strong data manypulation
Vincent
6-Mar-2005
[111]
strong?
shadwolf
6-Mar-2005
[112]
yes imagine 4ko to 8ko with only to little image what could it be 
with 30 images ?
Vincent
6-Mar-2005
[113x4]
try it, it don't change - i tried with 30 400x400 sized pictures!
just 16k
the image isn't evaluated in "face/data: either tail? ..." it's just 
a pointer affectation
try to remove "show face" -> no memory leak
sorry-retried it - it's not 'show - events maybe - or  something 
else
shadwolf
6-Mar-2005
[117x2]
k
I remove the show ace and I still have memoru leak
Vincent
6-Mar-2005
[119]
(sorry my error - the window didn't has the focus - so i interpreted 
wrongly)
shadwolf
6-Mar-2005
[120]
vincent in private we continue this debat lol ;)
Ashley
6-Mar-2005
[121]
I'm keen to see your findings / conclusion on this one. Nailing "memory 
leaks" early in the design is a high priority.


If the "problem" is with 'show then we can always do something simple 
like:

	show*: :show
	show: func [face [object! block!]][show* face recycle]

Not sure about the performance hit though ...
Ashley
7-Mar-2005
[122]
Anyone know where I can get a good free set of XP (or XP-like) toolbar 
icons (22x22) that I can distribute without issue? (I'll acknowledge 
the author(s) in the source and documentation).
Graham
7-Mar-2005
[123]
Ask Chris ...
Allen
7-Mar-2005
[124]
I don't see any mention of user-data . This was standard value for 
a user to store / manipulated data in a VID face, without fear of 
the style over writing it (unlike face/data which belongs to the 
style).
Ashley
7-Mar-2005
[125]
RebGUI uses the standard View face (25 facets) and 'data is not used 
by REBOL/View. VID extends this face by an additional 22 facets:

	state
	style
	alt-action
	facets
	related
	words
	colors
	texts
	images
	file
	var
	keycode
	reset
	styles
	init
	multi
	blinker
	pane-size
	dirty?
	help
	user-data
	flags


and provides 'user-data as it uses the 'data facet itself. RebGUI 
widgets use 'data as the "interface" attribute (e.g. setting a progress 
bar's value) and may define additional facets for internal use on 
a widget by widget basis. The idea is to make best use of the 25 
available View facets and not have every widget using 47 facets regardless 
of whether it needs to or not! ;)
shadwolf
7-Mar-2005
[126x2]
one ask I allways maid to me was how to done a box with sunken like 
borders with rebol/view ?
it's box edge [ size 3x3 color: gray effect: 'ibevel ] :)
Ashley
8-Mar-2005
[128]
Latest release available at: http://www.dobeash.com/files/RebGUI-013.zip


Check out the new tab-panel widget and updated View facets document.
Graham
8-Mar-2005
[129x2]
A suggestion .. don't quit after closing an example window please 
.. halt will do just fine.  Otherwise have to reload rebol each time 
:(
Thanks :)
Ashley
8-Mar-2005
[131]
Mm, I have the opposite problem ... I just want to double-click the 
script and when I close the window I don't want to then have to close 
an additional console window. ;)
Graham
8-Mar-2005
[132]
I don't have .r associated with rebol .. afterall which version will 
it load??
Ammon
8-Mar-2005
[133x3]
Right click just about any file and you can change the EXE that is 
associated with the file's extension so, potentially any version 
you like.
Even linux does this...
(or at least KDE does. ;-)
Anton
8-Mar-2005
[136]
I agree with Graham. I have .R files associated with my editor. Perhaps 
you could pass in a flag to intelligently quit or not ?