Forums > MaxMSP

5.0.3 released

June 27, 2008 | 6:15 pm

Our latest update to Max 5 is now available for download. There are over 150 bug fixes and little improvements, including an option for platform-native font rendering (turn it on in the Preferences window).

http://www.cycling74.com/downloads/max5

The list of changes is available from within the application, or here:

http://www.cycling74.com/version/version_5_0_3.html

David Z.


June 28, 2008 | 12:54 am

Lots of great fixes and enhancements in here. Looking forward to using this version.

One thing from the change list caught my eye:
"GlobalTransport extra no longer uses combine objects to avoid memory leak"

Does that mean the [combine] object has a problem with memory leaks? Is this something we should be aware of when building patches that use [combine]?


June 28, 2008 | 3:33 am

The combine object, like the sprintf object, can be used to create symbols where the memory used to store the symbol text is never freed. The problem with the global transport was that it was using combine to display hour/minute/second time continuously as the transport was running, and each unique hour/minute/second combination created a new symbol. So if you ran the pre 5.0.3 Global Transport for a while it is conceivable that it could eat up a lot of memory and create performance problems.

David Z.


June 28, 2008 | 8:18 am


June 28, 2008 | 8:52 am

Thanks for the report. Although I can’t provide a date when this will work again, we’ll try to get it up and running.

Best, thanks for your patience -
Jeremy


June 28, 2008 | 12:01 pm

i



June 29, 2008 | 10:14 am

David Zicarelli schrieb:
> The combine object, like the sprintf object, can be used to create
> symbols where the memory used to store the symbol text is never
> freed.

I use a lot a message box to display mm:ss. But usually that would
recreate the same symbols each time I restart. I suppose that doesn’t
add up. Or should I better use a LCD for display purposes?…
In one hour I would create 3600 symbols, how much memory does that eat?

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


June 29, 2008 | 7:06 pm

Quote: Stefan Tiedje wrote on Sun, 29 June 2008 03:14
—————————————————-
> David Zicarelli schrieb:
> > The combine object, like the sprintf object, can be used to create
> > symbols where the memory used to store the symbol text is never
> > freed.
>
> I use a lot a message box to display mm:ss. But usually that would
> recreate the same symbols each time I restart. I suppose that doesn’t
> add up. Or should I better use a LCD for display purposes?…
> In one hour I would create 3600 symbols, how much memory does that eat?
>

Is there no way to free up the memory from symbols after they are created? This is a hypothetical issue for me, so I’m not too concerned about it, but I wonder: if I was making a long-running installation with Max would I have to set up the computer to restart Max every so often to avoid memory problems?

Sounds like Max could use a garbage collector, but the speed performance implications are probably not worth it? I don’t want my metros jittering because symbol memory is being cleaned up. I imagine that’s a really tough problem.


June 29, 2008 | 9:26 pm

No, there is no way to release the memory occupied by text symbols. If you are writing applications that create hundreds of thousands of new symbols, you should be doing it in a different language (Javascript, Java, C, etc.) where you can manage the memory properly. We have made changes in Max 5 to avoid creating symbols unnecessarily — for example, the text in a comment box.

3600 symbols is nothing to worry about. It’s less memory than a medium size bitmap image. However, the global transport was creating symbols far more often than that, and it’s actually less about the amount of memory consumed than the symbol lookup time, which is optimized to perform well for thousands of symbols, not millions.

If you are really excited by garbage collection, perhaps SuperCollider is for you.

David Z.


June 29, 2008 | 9:45 pm

Quote: David Zicarelli wrote on Sun, 29 June 2008 14:26
—————————————————-
>
> If you are really excited by garbage collection, perhaps SuperCollider is for you.
>

Haha, no thanks, I will stick with Max :)

Thanks for clarifying the symbol memory behavior, I appreciate it.


June 30, 2008 | 5:47 am

David Zicarelli schrieb:
> No, there is no way to release the memory occupied by text symbols.

Would there be a way to reuse memory occupied by text symbols? I am sure
it would open a can of worms and its better not to do that, I am just
curious…
Lets say, I know the symbols have the same size (like with xx:xx)…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


June 30, 2008 | 9:16 am

On 30 juin 08, at 07:47, Stefan Tiedje wrote:

> David Zicarelli schrieb:
>> No, there is no way to release the memory occupied by text symbols.
>
> Would there be a way to reuse memory occupied by text symbols? I am
> sure it would open a can of worms and its better not to do that, I
> am just curious…
> Lets say, I know the symbols have the same size (like with xx:xx)…

symbols are not freed, but they’re not duplicated. So if you create a
symbol "toto", and later you use another time "toto", it won’t use
more memory.

ej


June 30, 2008 | 10:01 am

I guess the short answer, though, is ‘no’. Anything is possible, but Max doesn’t work like that, and probably never will.

jb


July 3, 2008 | 9:53 pm

Jeremy Bernstein schrieb:
> Anything is possible, but Max doesn’t work like that, and probably never will.

And my motto always was: The word "impossible" doesn’t exist in my world
of Max… ;-)
I have to do some reality checks now, I bet they’ll all fail, though it
seems my experience would tell me the opposite… ;-)

I never experienced any real world problems with too many symbols, but I
got told I must not create them constantly. I am not worried…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


Viewing 15 posts - 1 through 15 (of 15 total)