CacheData

DataStreamSupporter.CacheData method

Zwischenspeichert die Daten und stellt sicher, dass kein zusätzliches Laden von Daten aus der zugrunde liegenden Datei durchgeführt wirdDataStreamContainer .

public abstract void CacheData()

Beispiele

Das folgende Beispiel zeigt, wie sich das Zwischenspeichern von Bildern auf die Leistung auswirkt. Im Allgemeinen erfolgt das Lesen von zwischengespeicherten Daten schneller als das Lesen von nicht zwischengespeicherten Daten.

[C#]

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

// Laden Sie ein Bild aus einer PNG-Datei.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
    // Alle Pixeldaten zwischenspeichern, sodass kein zusätzliches Laden von Daten aus dem zugrunde liegenden Datenstrom durchgeführt wird
    image.CacheData();

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

    // Das Lesen aller Pixel ist ziemlich schnell.
    Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
    for (int y = 0; y < image.Height; y++)
    {
        for (int x = 0; x < image.Width; x++)
        {
            int color = rasterImage.GetArgb32Pixel(x, y);
        }
    }

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

// Laden Sie ein Bild aus einer PNG-Datei
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
    System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
    stopwatch.Start();

    // Das Lesen aller Pixel ist nicht so schnell wie beim Caching
    Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
    for (int y = 0; y < image.Height; y++)
    {
        for (int x = 0; x < image.Width; x++)
        {
            int color = rasterImage.GetArgb32Pixel(x, y);
        }
    }

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

// Die Ausgabe könnte so aussehen:
// Das Lesen aller gecachten Pixel hat 1500 ms gedauert.
// Das Lesen aller Pixel ohne vorheriges Caching dauerte 150000 ms.

Siehe auch