Jump to content

Zagna

Members
  • Posts

    512
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by Zagna

  1. If I remember right, Paint.NET uses a simple way of storing the images, simply in memory, be it ram or page file. It lacks the more clever memory managers that could use hdd morer that Photoshop and I think GIMP too have.

    Paint.NET's architecture is such that it must:

    1) Hold the entire image in memory

    2) Have a bitmap used for compositing the image

    3) Have a scratch surface

    (W x H x 4) x (L + 2)

    W is the width of the image in pixels, H is the height in pixels, 4 is because each pixel takes 4 bytes, L is the number of layers, and the +2 accounts for (2) and (3) above.

    So, the amount of memory required for that 50k*4k pixel image is...

    (50000 * 4000 * 4) * (3) = 2 400 000 000 bytes

    2 400 000 000 / 1024 / 1024 / 1024 = 2.23GiB

    So, you hit the Windows 2GB limit for 32-bit processes. If you could somehow go 64-bit OS, Paint.NET being a native 64-bit process, you'd have a 8TB? limit :P

    Edit: "Quick" try with creating a 50k*4k pixel image, creation was ok, so was scribbling something with a brush on it. But creating an another layer and it died for like 30 or so seconds but after that is was once again ok, and I pasted some images I found lying around on the second layer and this is 50k*4k with 2 layers.

    At creation, I got 1.8 gigs, little drawing got it above 2 gigs and the second layer got it at 3 gigs :)

    And this is with Vista Business x64 and 4 gigs of ram.

  2. Maybe image/x-paintnet.

    Since .pdn is an image media type, it should thus fall under the image main group. But since "Any format without a rigorous and public definition must be named with an "X-" prefix", because .pdn is at the moment just the internal data structure just put together and zipped, and lacks specification?

    And after that "x-" prefix, the name of the program would be suitable.

    This is only a guess, or a possible suggestion, not an educated answer.

  3. If you use Intersect and make sure the area chosen is outside a selection, the new selection can become laggy.

    If you create a small single selection and keep going circles around a point you choose without touching the selection, the new selection rectangle is a bit slow.

    If you create a complicated selection with multiple small selections and xor or anything to make it complex, then using Intersect and keep going circles around the point without touching the selection is very laggy. Not to the point of maxing either core but visible cursor and rectangle lag.

    But if in either case you so much as touch the original selection the new Intersect is much faster.

    Using 3.35b2

  4. My advice is simple. Use WinHTTrack.

    That's what I use for mirroring the english help so I can easily see when Rick updates a picture or a page and I update the localized version then.

    Just have WinHTTrack point at the help index file and let 'er rip. After that you can just copy the entire directory where the mirror is downloaded and just browse it on any browser by simply pointing at your local copy.

  5. PDN lacks sophisticated memory manager that would use both hard drive and memory to manage the image, instead it just dumps everything in the memory.

    If I remember the formula right... (height * width * argb (32 bits/pixel)) * (n+1) n == number of layers, +1 for scratch..

    So, ((72" * 100dpi) * (32" * 100dpi) * 32 bits -> 4 bytes) * (2 layers + 1 scratch) = 311 megs of memory? not 2.5 gigs...

    I pulled this from nothing so it can't be right...? I forgot bits and bytes... :|

    I'm outside localization... omg

  6. A translators point of view...

    For example, even though the RESX files are no longer released you can still generate them from the publicly available RESOURCES files.

    From the blog... if the english .resx is going to be unavailable it will be a minor annoyance for atleast me. By using a previous version .resx and a newer version .resx, it was very easy to spot new strings by just diffing it because all the old strings are in the same order in the new .resx. So I could just copy the diff to my own .fi.resx.

    If I need to decompile a .resources file all the strings come out in a random order. This makes easy spotting without some kind of nice xml editor a hard thing. And Notepad++ is 'just' a text editor.

    This is my only concern, license change otherwise doesn't trouble me.

  7. You can use resgen.exe in the original translation pack to convert a .resources file into .resx file for modification.

    ResGen.exe PaintDotNet.Strings.3..resources Strings..resx

    To decompile, after which you can easily modify the .resx file with any text editor and,

    ResGen.exe /compile Strings..resx,PaintDotNet.Strings.3..resources

    To compile it again which you can then use to replace the original.

  8. Tee näin~

    Asenna Paint.NET

    Lataa tuosta ekasta viestistä löytyvä zippi

    Pura se kansioon jonne olet asentanut Paint.NETin joka on yleensä, C:/Program Files/Paint.NET

    Käynnistä Paint.NET

    Ja valitse se kieli valikosta Help -> Language -> suomi

    PS. 3.05 käännös tulee ohjeen kanssa parin päivän sisällä mikäli jaksan kääntää noi pari viimeistä ohjeen sivua loppuun

    PPS. Tosi mukava että joku muukin päättää tänne jotain riipustella

  9. PdnBench v3.0.2583.27153
    Running in 32-bit mode on Windows 5.1.2600.131072 Service Pack 2 Workstation x86
    Processor: 1x "AMD Athlon(tm) XP 2500+" @ ~1829 MHz
    Memory: 511 MB
    
    Using 1 threads.
    Loading image ... (1024 x 768) done
    Rotate/Zoom at 0,00 degrees (3x) ...  2459 milliseconds
    Rotate/Zoom at 70,00 degrees (3x) ...  2318 milliseconds
    Rotate/Zoom at 140,00 degrees (3x) ...  2445 milliseconds
    Rotate/Zoom at 210,00 degrees (3x) ...  2272 milliseconds
    Rotate/Zoom at 280,00 degrees (3x) ...  2568 milliseconds
    Rotate/Zoom at 350,00 degrees (3x) ...  2294 milliseconds
    Oil Painting, brush size = 1, coarseness = 10 (1x) ...  748 milliseconds
    Oil Painting, brush size = 1, coarseness = 85 (1x) ...  1454 milliseconds
    Oil Painting, brush size = 4, coarseness = 10 (1x) ...  4137 milliseconds
    Oil Painting, brush size = 4, coarseness = 85 (1x) ...  4783 milliseconds
    Blur with radius of 2 (1x) ...  802 milliseconds
    Blur with radius of 4 (1x) ...  1303 milliseconds
    Blur with radius of 8 (1x) ...  2368 milliseconds
    Blur with radius of 16 (1x) ...  4727 milliseconds
    Blur with radius of 32 (1x) ...  8998 milliseconds
    Sharpen with value of 1 (1x) ...  1255 milliseconds
    Sharpen with value of 4 (1x) ...  1529 milliseconds
    Auto-Levels (50x) ...  1119 milliseconds
    Clouds, roughness = 81 (2x) ...  3043 milliseconds
    Clouds, roughness = 27 (2x) ...  1597 milliseconds
    Clouds, roughness = 9 (2x) ...  1150 milliseconds
    Median, radius 4 (1x) ...  1413 milliseconds
    Median, radius 16 (1x) ...  2988 milliseconds
    Median, radius 64 (1x) ...  9640 milliseconds
    Unfocus, radius 4 (1x) ...  2759 milliseconds
    Unfocus, radius 16 (1x) ...  4329 milliseconds
    Unfocus, radius 64 (1x) ...  10790 milliseconds
    Motion Blur, Horizontal (1x) ...  3882 milliseconds
    Motion Blur, Vertical (1x) ...  5855 milliseconds
    Resize from 1024x768 to 512x384 ...  277 milliseconds
    Resize from 512x384 to 1024x768 ...  809 milliseconds
    Resize from 1024x768 to 1536x1152 ...  1780 milliseconds
    Resize from 1536x1152 to 1024x768 ...  926 milliseconds
    Resize from 1024x768 to 2560x1920 ...  5264 milliseconds
    Resize from 2560x1920 to 1024x768 ...  851 milliseconds
    Resize from 1024x768 to 3584x2688 ...  10302 milliseconds
    Resize from 3584x2688 to 1024x768 ...  807 milliseconds
    Linear reflected gradient @ 4096x3072 (5x) ...  5023 milliseconds
    Conical gradient @ 4096x3072 (5x) ...  9095 milliseconds
    Radial gradient @ 4096x3072 (5x) ...  5949 milliseconds
    Compositing one layer, Normal blend mode, 255 opacity (20x) ...  234 milliseconds
    Compositing one layer, Normal blend mode, 128 opacity (20x) ...  1778 milliseconds
    Compositing four layers, Normal blend mode, 255 opacity (20x) ...  5227 milliseconds
    Compositing four layers, Normal blend mode, 255 (layer 0) and 128 (layer 1-3) opacity (20x) ...  6740 milliseconds
    Compositing four layers, Normal blend mode, 128 opacity (20x) ...  6678 milliseconds
    Compositing three layers, Normal+Multiply+Overlay blending, 150+255+170 opacity (20x) ...  5283 milliseconds
    Transform simple surface, no transform, nearest neighbor resampling (25x) ...  353 milliseconds
    Transform complex surface, no transform, nearest neighbor resampling (25x) ...  335 milliseconds
    Transform simple surface, no transform, bilinear resampling (25x) ...  15692 milliseconds
    Transform complex surface, no transform, bilinear resampling (25x) ...  15721 milliseconds
    Transform simple surface, 45 deg. rotation about center, bilinear resampling (25x) ...  13910 milliseconds
    Transform complex surface, 45 deg. rotation about center, bilinear resampling (25x) ...  14092 milliseconds
    Transform simple surface, 50% x-scaling 75% y-scaling, bilinear resampling (25x) ...  6969 milliseconds
    Transform complex surface, 50% x-scaling 75% y-scaling, bilinear resampling (25x) ...  6471 milliseconds
    Zoom out, rotated grid multisampling, 66% (1000x) ...  14433 milliseconds
    Zoom out, rotated grid multisampling, 28% (1000x) ...  4186 milliseconds
    Zoom 1:1, straight blit (1000x) ...  16930 milliseconds
    
    Total time: 271591 milliseconds

    The K7 Model 10 isn't the latest proc out there but good enough for me :)

×
×
  • Create New...