Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Mac PdfView性能问题_Macos_Pdf_Xamarin - Fatal编程技术网

Macos Mac PdfView性能问题

Macos Mac PdfView性能问题,macos,pdf,xamarin,Macos,Pdf,Xamarin,我正在创建一个应用程序来可视化一些实验数据(x,y多系列图),其中的主要目标是生成符合科学出版物规则的pdf文件。pdf生成工作正常,我还可以在PdfKit PdfView中显示pdf。但是,当我尝试在应用程序中显示大型pdf文件(包含大量点的数据系列(如20000中))时,一些后台线程将花费数分钟(3-4分钟)来生成某种缓存版本,PdfView使用该版本进行更快的缩放渲染 我可以通过将PdfView.Document设置为空pdf文档,然后添加一个页面来解决这个问题。PdfView将缓存一个空

我正在创建一个应用程序来可视化一些实验数据(x,y多系列图),其中的主要目标是生成符合科学出版物规则的pdf文件。pdf生成工作正常,我还可以在PdfKit PdfView中显示pdf。但是,当我尝试在应用程序中显示大型pdf文件(包含大量点的数据系列(如20000中))时,一些后台线程将花费数分钟(3-4分钟)来生成某种缓存版本,PdfView使用该版本进行更快的缩放渲染

我可以通过将PdfView.Document设置为空pdf文档,然后添加一个页面来解决这个问题。PdfView将缓存一个空白页面,但我不会在100%的CPU使用率下花费数分钟来尝试生成缓存版本。然而,这引入了另一个问题,如果没有缓存版本,缩放操作将不如预期的愉快

此外,我有一些滑块,它会影响pdf结果,并且需要非常快速地更新显示的pdf

是否有更好的方式显示pdf文件(数据)?如果该方法允许放大文档,则效果最好

对于大型pdf文件,速度非常慢:

PDFPlotView.Document=pdf;
快速,但无缓存版本:

PDFPlotView.Document=新的PdfDocument();
PDFPlotView.Document.InsertPage(pdf.GetPage(0),0);
我还尝试从pdf生成低分辨率图像,然后尝试使用该图像生成缓存,但似乎存在导致pdf变为空白的已知错误:

使用(var context=new CGBitmapContext(null,(int)rect.Width,(int)rect.Height,8,0,CGColorSpace.CreateDeviceRGB(),CGBitmapFlags.NoneSkipLast)
{
插值质量=CG插值质量。无
})
{
SetFillColor(新的CGColor(1,1,1,1));
context.FillRect(rect);
ScaleCTM(1,1);
DrawPDFPage(pdf.Document.GetPage(0));
img=context.ToImage();
}
PdfDocument lowrepdf=新PdfDocument();
NSImage缓存=新NSImage(img,rect.Size);
PdfPage page=新的PdfPage(缓存);
lowrepdf.InsertPage(第0页);

[更新]性能问题似乎与 数据点,而是PDF文件中单个路径的长度。 每1000个数据将有问题的数据系列拆分成新行 点的结果是缓存时间为几秒(最大),而不是几秒 25000数据点线的分钟数


您可以在WebView中打开它。@frederiktheisen您可以发布一个指向缓慢渲染的示例PDF文件的链接吗?下面是一个示例文件:该文件也会导致默认Mac查看器出现问题(请小心)。由于该问题在外部查看器中也很明显,因此修复PdfKit查看器问题不会修复该问题。整个pdf查看体验有些可疑。检查文档是否有多个页面后立即删除索引1处的页面也很少会引发本机异常,抱怨索引在数组之外。