Jump to content

AlexY

Members
  • Posts

    12
  • Joined

  • Last visited

Posts posted by AlexY

  1. 2 hours ago, null54 said:

     

    Interesting, in my tests it looked like both versions were using a similar amount of memory.

    It is more memory efficient as it converts the frames to a Paint.NET layer without needing to copy the pixel data.

    And there is a lot of room for optimization on Save operation.🤔

    PDN Screenshot 2021-01-03 010554 small.jpg

  2. 1 hour ago, null54 said:

     

    Interesting, in my tests it looked like both versions were using a similar amount of memory.

    It is more memory efficient as it converts the frames to a Paint.NET layer without needing to copy the pixel data.

    Yep, it looks like an answer because you don't need to allocate memory for copying. Previously I observed a spike of memory usage and then decline, which is perfectly explained now,

    But there is another problem - operation under layers selection are not working.
    Steps to repro:

    1. Select several layers from animated GIF (II was working with my file).
    2, Try to execute any layers command over selection. (I tried delete and merge down).

    3. The operation is executed only on focused layer.

  3. On 12/30/2020 at 2:40 AM, null54 said:

    I have attached the test build that I mentioned in my previous post.

    This should hopefully fix the crash that @DragonFox and @Pixey are seeing when saving a 1024x1024 pixel file.

     

    If it works I will submit the changes to Rick for inclusion in a new build.

    ImAGIF.FileType v0.13.1.zip 448.61 kB · 3 downloads

    Thank you and Happy New Year! It worked for me as well. Just wonder if it should look like that - 1518 frames and almost empty layers?

    PDN Screenshot 2021-01-01 234406 small.jpg

  4. 2 hours ago, null54 said:

     

    I have 32 GB of RAM, that image takes 11 GB when loaded into PDN.

     

     

    The part I do not understand is, if issue is lack of memory why does the crash information have an access violation and not an out of memory error.

    I see, mine has only 16 Gb now. Based on similar issues on StackOverflow:
    "The problem may be due to mixed build platforms DLLs in the project. i.e You build your project to Any CPU but have some DLLs in the project already built for x86 platform. These will cause random crashes because of different memory mapping of 32bit and 64bit architecture. If all the DLLs are built for one platform the problem can be solved."

  5. 16 hours ago, Pixey said:

    @AlexY I took a look at this in an online viewer and this is way too complicated for Midora's Plugin 😵

    Yep. I've captured a video clip, converted it to animated GIF and then I wanted to edit it in PDN. Given @null54 experience the issue is in memory management. I agree that it's an exceptional workload for PDN.

  6. In my case I was opening existing file and I guess that either number of layers or layers' buffer has been overflown, or just plug-in's working memory. I'm afraid that this can be clarified only by debugging this case. I can send a link to my file if needed.

  7. On 12/18/2020 at 5:35 PM, Pixey said:

    Hello @AlexY and Welcome :)

     

    When you saved the GIF to open in PDN, did you add .agif to the file and save as All Files ?

    I had just changed extension from .gif to .agif in File Explorer and then tried to open in PDN. It starts opening/processing the file showing process bar and in the very end it crashes firing this error. It looks like a memory leak bug. My GIF is quite large (6 Mb - video converted to GIF) and this might cause the issue.

  8. Hi,

    Thank you all for the great tool and your support. I'm trying to open my GIF but got an error in the very end of file's opening process (full details in the file below). Is there any ideas how I can fix it?
     

    Exception:

    System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
       at System.Buffer.__Memmove(Byte* dest, Byte* src, UInt64 len)
       at System.Buffer._Memmove(Byte* dest, Byte* src, UInt64 len)
       at System.Buffer.Memmove(Byte* dest, Byte* src, UInt64 len)
       at PaintDotNet.Surface.CopySurface(ISurface`1 source) in D:\src\pdn\src\Core\Surface.cs:line 1162
       at PaintDotNet.Surface.Clone() in D:\src\pdn\src\Core\Surface.cs:line 1498
       at PropertyBasedFileTypes.AgifInternal.Load(Stream input)
       at PaintDotNet.FileType.Load(Stream input) in D:\src\pdn\src\Data\FileType.cs:line 512
       at PaintDotNet.Functional.Func.Eval[T1,TRet](Func`2 f, T1 arg1) in D:\src\pdn\src\Base\Functional\Func.cs:line 158

     

     

    Details.txt

×
×
  • Create New...