5.0.3 released

Jun 27, 2008 at 6:15pm

5.0.3 released

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.

#38631
Jun 28, 2008 at 12:54am

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]?

#134873
Jun 28, 2008 at 3:33am

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.

#134874
Jun 28, 2008 at 8:18am

#134875
Jun 28, 2008 at 8:52am

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

#134876
Jun 28, 2008 at 12:01pm

i

#134877
Jun 28, 2008 at 12:20pm
#134878
Jun 29, 2008 at 10:14am

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

#134879
Jun 29, 2008 at 7:06pm

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.

#134880
Jun 29, 2008 at 9:26pm

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.

#134881
Jun 29, 2008 at 9:45pm

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.

#134882
Jun 30, 2008 at 5:47am

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

#134883
Jun 30, 2008 at 9:16am

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

#134884
Jun 30, 2008 at 10:01am

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

jb

#134885
Jul 3, 2008 at 9:53pm

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

#134886

You must be logged in to reply to this topic.