Please let me know, what could be reason for very bad performance when first calling method Document.UpdatePageLayout on computers by my customer. For now I found out that this method is reason for bad performance when saving to pdf format. If I don’t call this method than Save(… , SaveFormat.Pdf) method is slow.
I made an example with the latest version of Aspose.Words using .NET 4.0:
using System;
using Aspose.Words;
using System.IO;
using System.Diagnostics;
namespace TestAsposeWords
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 3; i++)
TestAspose();
Console.ReadLine();
}
static void TestAspose()
{
Stopwatch stopWatch = new Stopwatch();
var d = new Document();
stopWatch.Start();
d.UpdatePageLayout();
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
Stream s = new MemoryStream();
stopWatch = new Stopwatch();
stopWatch.Start();
d.Save(s, SaveFormat.Pdf);
stopWatch.Stop();
TimeSpan ts1 = stopWatch.Elapsed;
s.Dispose();
Console.WriteLine(“UpdatePageLayout: {0:00}:{1:00}.{2:000}, Save: {3:00}:{4:00}.{5:000}”, // , pdf: {6:00}:{7:00}.{8:000}",
ts.Minutes, ts.Seconds,
ts.Milliseconds / 100,
ts1.Minutes, ts1.Seconds,
ts1.Milliseconds / 100);
d = null;
}
}
}
This example takes more than 30 seconds for first time on Win 2007 Terminal Server (64 bit, 12 GB RAM, Intel Xeon CPU, L520, 2,27 GHz):
UpdatePageLayout: 00:36.007, Save: 00:00.001
UpdatePageLayout: 00:00.000, Save: 00:00.000
UpdatePageLayout: 00:00.000, Save: 00:00.000
In my environment I could’t reproduce such bad performances.
Is there anything what I can do? Is there something known at system level (maybe printers or somesthing like this)?