• Yes, now it is fixed, thanks. I hoped it would help with memory fragmentation in my case so that E.toString() would work on the font but it wasn't enough. There is probably too much fragmentation already so even without this locked/leaked SPI variable(s) it doesn't work and still return undefined. Also E.defrag() does not help. The E.dumpFragmentation() is useful as it shows the buffer allocated by Graphics.createArrayBuffer is not created as flat string. After deleting fnt variable flat strings are still there and areas freed (marked in blue) are used by normal variables '#' not '='
    So E.toString() tries to do a copy and fails as there is no continuous space.

    >var fnt=createFont(0x199e0e,322,40,64,14,fal­se);
    ={
      font: new ArrayBuffer(4480),
      width: 40, height: 64 }
    >process.memory().free
    =260
    >E.toString(fnt.font)
    =undefined
    >E.defrag()
    =undefined
    >E.toString(fnt.font)
    =undefined
    >trace(fnt.font)
    #1845[r1,l1] ArrayBuffer (offs 0, len 4480)  #1822[r1,l0] String [374 blocks] "\0.....................
    =undefined
    
    

    1 Attachment

    • Capture.PNG
About

Avatar for fanoush @fanoush started