Jump to content

About the saved as .pdn history .

Recommended Posts

hi ! Sorry , I have made no search before so i hope that this question is new in the forum . As you already know , i'm not a drawing specialist with Paintdotnet or an other drawing software. ;-) Just a little question about the projects saved as .pdn : so , when i open a project saved as .pdn everything is right , with layers for example , but the history restart to zero , no last effects are saved . Is that normal ? and does anything like that could it be integrated on the next versions ? Do you understand what i mean ?

Thanks to comment . :wink:

To be free To be wild

And to be Just like a child

Mike Oldfield


Link to comment
Share on other sites

Just a thought,

If you saved undo history in the files, they would be larger(possibly much larger) but, other than disk space(which, on recent computers, shouldn't be a big deal anyway) I don't see a problem. Sure the files would be big, but then, .pdn is a working file format not a publishing format. Once you're done with an image and you want somebody else to see it, you don't send them the pdn (unless they too need to edit it), you send them a png or a jpg etc. I think this would actually be a useful feature in some situations. You'd be able to close a file and come back and work on it later (for instance, if you have to restart pdn, windows, or anything like that, you could resume work where you left off, with the undo history saved. I for one would be willing to sacrifice a bit of disk space for this feature.

Link to comment
Share on other sites

An easy way to have a sort of history, is to save your PDN file now and then, with an increasing number after the file name. That way you get a series of PDN files representing the history of your work.

You can always import an old layer from an old file if you want to. I find that technique useful some times.

My DA: http://leif-j.deviantart.com/


Some people seek justice so persistent, that they will do great injustice themselves.

Link to comment
Share on other sites

... other than disk space ... I don't see a problem.

Ahh yes, the blissful naievety of someone who is not a developer on the project :) (I don't mean that as an insult)

First, yes disk space would be a concern especially for large images and wanting to send them over the Internet. "What, this file is 1024x768 and 500mb?!" Ack.

Second, it's much much more complicated than you'd think to save the history with the image. The History was always meant to be part of the application's state, not the image. As such it was never designed to be saved to disk and then loaded back and reconstructed. The data structures are currently set up to be able to persist portions to disk (to save memory, esp. on 32-bit systems), but not all.

But, let's pretend for a moment that the history was designed to work in this way. Now we have all this revision data that is saved by Paint.NET v2.xx that must be successfully loaded in to memory by Paint.NET v3.0. And then those files must be loadable by 3.x and beyond, etc. Backwards file format compatibility is paramount for an application like Paint.NET.

That means my hands are possibly tied if I want to change, improve, or fix bugs in certain areas of the history's data structures. If I make a change that could even remotely cause a problem, I need to have a stack of .PDN sample files to test with to make sure that when I load them not only does the history load correctly, but that it works to undo and redo in all sorts of intense combinations.

For example, what if I wanted to add the ability to do shearing or arbitrary, complex transformation with the Move Selected Pixels tool? That would change how its history data is stored and organized. Adding this feature would be complicated by having to ensure that old .PDN files could still be loaded and safely migrated to the new format.

One alternative to this tying-my-hands is to provide history saving "with no warranty." If the file format changes in a breaking way between versions, then too bad: it gets thrown away but you still have the image. At which point the history is essentially worthless. Also, the stuff takes up lots of disk space. So I'd need to provide a tool for stripping the history away to cut down file size. This is another tool or feature that must be designed, implemented, tested, and maintained over the entire lifetime of the Paint.NET project.

It's just not worth it, honestly. It's just too much. I've done the investigation to see what this would cost and it is not even remotely simple or cheap, unfortunately.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...