簡體   English   中英

UWP:從字節數組創建InMemoryRandomAccessStream的最快方法

[英]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.

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