[英]UWP: Fastest way to create an InMemoryRandomAccessStream from a byte array
我需要以最快的方式從byte []創建一個InMemoryRandomAccessStream。
我用這種方法出來
private static async Task<InMemoryRandomAccessStream> GetStreamAsync(byte[] bytes)
{
InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream();
await stream.WriteAsync(bytes.AsBuffer());
stream.Seek(0);
return stream;
}
但不幸的是,這大約需要8毫秒,而就我們的目的而言,這實在太多了。
有沒有更快的(也許是同步的)方法來達到相同的目的?
我正在尋找大約1毫秒或更短的時間。
謝謝!!
我需要一個IRandomAccessStream傳遞給CanvasBitmap.LoadAsync(),以使用Win2D api將圖像加載到SpriteVisual中。
就您的評論而言,也許IRandomAccessStream
確實是您所需要的,而不是InMemoryRandomAccessStream
。
這是從字節數組獲取IAccessRandomStream的另一種方法:
private IRandomAccessStream GetStreamAsync(byte[] bytes)
{
var ms = new MemoryStream(bytes);
var stream = ms.AsRandomAccessStream();
stream.Seek(0);
return stream;
}
這種方法比原始方法更快。
但是,圖像加載的速度有很多影響因素,我們只能嘗試對其進行改進。
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.