Catching Memoryleaks



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 19/02/2011 at 08:54, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:    
    Platform:      
    Language(s) :   C.O.F.F.E.E  ;

    ---------
    HI Guys,

    I've written a coffee-code to detect open edges in a Mesh. It works pretty fine, as long as one does'nt want to check an Object with about 1400 Polygons or so, sure depending on the system, C4D crashes.
    Of course, it's because of Memoryleaks. Is there any way to stop the hole execution as there is too less Memory or so ?
    I've already tried try & catch, but nothing changed..

    Thanks in advance,
    nux



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 20/02/2011 at 14:46, xxxxxxxx wrote:

    No idea ?

    If there isn't any possibility, would there at least be one to let the User stop the Execution by himself ?
    Some kind of a button "Stop" or so .. ?

    Cheers, nux



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 21/02/2011 at 02:40, xxxxxxxx wrote:

    Please take a look at the BakupTags class whcih is used for handling low memory conditions.

    While you are in a loop you couild also react to user input by calling GetInputState().

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 21/02/2011 at 12:09, xxxxxxxx wrote:

    GetInputState() ist just a function for GeUserArea, right ?
    So it won't be of use to me, it's just a coffee-skript.

    BackupTags is only used when changing Points or Polygons ?
    In my case I don't change any Points or Polygons .. :/

    Cheers, nux



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 22/02/2011 at 01:49, xxxxxxxx wrote:

    Ah, sorry. I forgot GetInputState() is only avaible in user areas in COFFEE. In C++ and Python you can catch input states outside dialogs.

    I am afraid there not much you can do in your case. I wonder though what amount of data you manipulate. Cinema 4D 64bit should be able to handle several gigabytes. Maybe the problem lies somewhere else?

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 22/02/2011 at 07:25, xxxxxxxx wrote:

    Oh :(

    Hm, possible. I found out yesterday that C4D actually doesn't really crash while computing the Skript with High Polygon Objects, it just doesn't react. Clicking on anywhere in the Window will make Windows 7 tell you the Program doesnt react anymore. But if you wait, it works fine. (Since you not use *really* HIGH POLY Objects xD About 1 Mio polygons or so.. Then it really crashes Q_Q)
    But, a normal user would think its crashed, though, because the StatusBar and all other Threads are stopped... Best, i'll send you the Script, right ?

    Here it is:

    http://www.4shared.com/file/u0aiNjvs/Open_Edgez_-_c4dcoffeescript_-.html


Log in to reply