CacheData
DataStreamSupporter.CacheData method
Verileri önbelleğe alır ve temel alınandan ek veri yüklemesi yapılmamasını sağlarDataStreamContainer
.
public abstract void CacheData()
Örnekler
Aşağıdaki örnek, görüntü önbelleğe almanın performansı nasıl etkilediğini gösterir. Genel durumda, önbelleğe alınmış verilerin okunması, önbelleğe alınmamış verilerin okunmasından daha hızlı gerçekleştirilir.
[C#]
string dir = "c:\\temp\\";
// PNG dosyasından bir resim yükleyin.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
// Temel veri akışından ek veri yüklemesi gerçekleştirilmeyecek şekilde tüm piksel verilerini önbelleğe alın
image.CacheData();
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// Tüm pikselleri okumak oldukça hızlıdır.
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);
}
// PNG dosyasından bir resim yükleyin
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// Tüm pikselleri okumak, önbelleğe alırken olduğu kadar hızlı değil
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);
}
// Çıktı şöyle görünebilir:
// Önbelleğe alınan tüm piksellerin okunması 1500 ms sürdü.
// Önbelleğe alma olmadan tüm pikselleri okumak 150000 ms sürdü.
Ayrıca bakınız
- class DataStreamSupporter
- ad alanı Aspose.Imaging
- toplantı Aspose.Imaging