Quel est le moyen le plus approprié d'utiliser les MemoryMappedViewAccessors de .Net 4.0?

StackOverflow https://stackoverflow.com/questions/1236349

  •  11-09-2019
  •  | 
  •  

Question

Lors de l'affichage d'un grand fichier mappé en mémoire dans une boîte scrollable, est-il plus approprié d'avoir la vue représentent le fichier entier, ou seulement la région du fichier en cours d'affichage?
De manière plus générale, à quel niveau de l'abstraction est faite avec la pagination mémoire de .Net fichiers cartographié? La taille de la page / quantité du fichier stocké en mémoire en rapport avec les MemoryMappedViewAccessors, ou est-elle indépendante de ces objets?

Était-ce utile?

La solution

Il est indépendant; les données ne sont pas copiées dans la mémoire jusqu'à ce que l'adresse (ou une adresse à proximité) est accessible. Cependant, la taille de la vue compte contre l'espace d'adressage de votre processus. Ceci est très important sur les systèmes 32 bits depuis l'espace d'adressage du processus est limitée à 2 Go ou 3 Go. Cela a un impact la capacité de faire des allocations futures en raison de la possibilité qu'un bloc contigu de la taille désirée pourrait ne pas être disponible dans l'espace d'adressage.

La possibilité d'utiliser de grandes vues est souvent citée comme un avantage majeur des systèmes 64 bits.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top