簡體   English   中英

用VisualWorks加載圖像(圖形)非常慢

[英]Loading images (graphics) with VisualWorks very slow

我正在嘗試將jpeg之類的圖像文件加載到vw中,作為應用程序的一部分。 這似乎花費了很長時間,有時甚至使大眾汽車崩潰。 該圖像大約有3.5MB,是一張簡單的jpeg圖片。 這是導致問題的原因:

ImageReader fromFile:'pic.jpg'.

此操作大約需要5-10秒才能完成。 它同時發生在32位和64位項目中。

關於如何解決此問題有什么想法或建議嗎? pharo中的同一件事似乎還可以。

謝謝!

ImageReader將自動選擇正確的子類,例如JPEGImageReader。 挑選子類並不是很慢的事情。 解碼JPG數據是。

與PNG不同,jpeg文件不使用zip壓縮,而是使用離散的余弦變換(請參閱https://en.wikipedia.org/wiki/JPG#JPEG_compression )。 這種壓縮需要大量的數字運算,這在VisualWorks中比在C語言中要慢。另一方面,PNG閱讀器使用Zlib在C中完成數字運算部分,這就是為什么它要快得多的原因。

您可以使用Cairo或GDI或手頭上的任何其他C-API來加快速度。

嘗試直接調用JPEGImageReader:

JPEGImageReader fromFile:'pic.jpg'

如果速度很快,那么速度變慢就是要找到適合該文件的圖像讀取器。 您已經安裝了什么ImageReader以及它們如何實現類方法canRead:??

如果JPEGImageReader仍然很慢,那么我們可以從那里進行調查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM