Existe-t-il une limite de taille de fichier dans Paint.NET

Je peux ouvrir des tifs plus petits sans problème, mais ces tifs à 100 + MB ne peuvent pas être ouverts dans Paint.NET. Je ne pense pas que ce soit un problème de mémoire, car d'autres logiciels peuvent s'ouvrir sans problème (IrfanView, XNViewPortable). Est-ce une limitation de logiciel?

"Il y avait une erreur non spécifiée lors de l'ouverture du fichier."

Http://dl.dropbox.com/u/1156285/PaintDotCrash_OpenBifTif.avi

J'utilise Paint.NET v3.5.5 (version finale version 3.55.3767.28608) sur XP SP3.

Mettre à jour:

Je pense que la réponse de Joel Coehoorn est sur la bonne voie. J'ai converti l'image en noir / blanc, ce qui donne une taille de fichier d'un peu moins de 5 Mo. Ensuite, j'ai tenté d'ouvrir et de recevoir l'erreur à nouveau.

À l'aide de l'original, j'ai essayé toutes sortes de choses et finalement compris que si je réduis les pixels de 6000×6000 à 5000×5000, je pourrais ouvrir l'image dans Paint.NET (même 24 bits).

Il semble que vous obteniez une exception OutOfMemory. L'exception .Net OutOfMemory est un peu trompeuse. Il est beaucoup plus fréquent de voir cette exception lorsque vous manquez d' espace d'adressage , ce qui est un peu différent de la mémoire physique. Cela signifie que certaines choses comme vérifier le gestionnaire de tâches pour voir la quantité de mémoire utilisée peuvent ne pas vous aider à suivre le problème.

Au lieu de cela, le problème est probablement le résultat d'un bug dans Paint.Net, de sorte que certaines parties de l'image sont placées par l'exécution .Net sur quelque chose appelé le grand objet Heap. Le fichier est ensuite chargé de telle sorte que ce même ensemble de mémoire soit créé et détruit plusieurs fois, peut-être qu'il soit un peu plus grand à chaque fois. Le collecteur d'ordures ne libère pas ou ne compacte pas l'espace d'adressage du grand objet très bien (même si la mémoire physique a été libérée ou paginée), et vous obtenez soudainement une exception OutOfMemory.

La solution est soit pour Microsoft de modifier le comportement du temps d'exécution .Net par rapport au LOH, de sorte qu'il puisse entrer et compacter le LOH dans certaines situations (peut-être sur demande ou avant de lancer l'exception OutOfMemory) ou pour Le programme Paint.Net permet de réparer la façon dont il charge le fichier de sorte qu'il se développe correctement, quelle que soit la structure de données existante, qui cause le problème plutôt que de le recréer à plusieurs reprises.

La façon dont un fichier comme celui-ci est stocké dans la mémoire affecte la quantité de mémoire requise. Les autres applications pourraient être plus efficaces en termes de mémoire.

Compte tenu de votre description, ça ressemble à Paint.NET qui manque de mémoire. Vous pouvez essayer d'ouvrir le Gestionnaire des tâches en essayant d'ouvrir le fichier pour voir si l'utilisation de la mémoire augmente.

Il peut être tenté d'attribuer un bloc de mémoire contigu pour lire le fichier, essayez de fermer autant d'applications que possible puis réessayez de l'ouvrir.