CacheData

RasterCachedImage.CacheData method

Met en cache les données et garantit qu’aucun chargement de données supplémentaire ne sera effectué à partir du sous-jacentDataStreamContainer .

public override void CacheData()

Exemples

L’exemple suivant montre comment la mise en cache des images raster affecte les performances. Dans le cas général, la lecture des données mises en cache est effectuée plus rapidement que la lecture des données non mises en cache.

[C#]

string dir = "c:\\temp\\";

// Charge une image à partir d'un fichier PNG.
using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.png"))
{
    // Mettez en cache toutes les données de pixel afin qu'aucun chargement de données supplémentaire ne soit effectué à partir du flux de données sous-jacent
    image.CacheData();

    System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
    stopwatch.Start();

    // La lecture de tous les pixels est assez rapide.
    for (int y = 0; y < image.Height; y++)
    {
        for (int x = 0; x < image.Width; x++)
        {
            int color = image.GetArgb32Pixel(x, y);
        }
    }

    stopwatch.Stop();
    System.Console.WriteLine("Reading all cached pixels took {0} ms.", stopwatch.ElapsedMilliseconds);
}

// Charger une image depuis un fichier PNG
using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.png"))
{
    System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
    stopwatch.Start();

    // La lecture de tous les pixels n'est pas aussi rapide que lors de la mise en cache
    for (int y = 0; y < image.Height; y++)
    {
        for (int x = 0; x < image.Width; x++)
        {
            int color = image.GetArgb32Pixel(x, y);
        }
    }

    stopwatch.Stop();
    System.Console.WriteLine("Reading all pixels without preliminary caching took {0} ms.", stopwatch.ElapsedMilliseconds);
}

// La sortie peut ressembler à ceci :
// La lecture de tous les pixels mis en cache a pris 1 500 ms.
// La lecture de tous les pixels sans mise en cache préalable a pris 150 000 ms.

Voir également