第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何優(yōu)化大量圖片的加載?

如何優(yōu)化大量圖片的加載?

C#
qq_笑_17 2023-09-09 16:12:02
我從 REST 服務(wù)上傳大量圖像,并通過定期任務(wù)使用它們創(chuàng)建各種 gif 圖像。我想知道如何優(yōu)化我的代碼,改進(jìn)它并使其更快。 public class WebcamListViewModel : BaseViewModel{    public ICommand InitializeWebcamsCommand { set; get; }    public ICommand OpenVideoWebcamCommand { set; get; }private List<Webcam> _ListOfWebcam { get; set; }public List<Webcam> ListOfWebcam{    get { return _ListOfWebcam; }    set    {        _ListOfWebcam = value;        OnPropertyChanged();    }}private IFolder folder;private int _Counter { get; set; }public int Counter{    get { return _Counter; }    set    {        _Counter = value;        OnPropertyChanged();    }}private Task SetFrameOnViewTask;private Task DownloadFramesTask;CancellationTokenSource tokenSourceSetFrame = new CancellationTokenSource();CancellationTokenSource tokenSourceDownloadFrames = new CancellationTokenSource();CancellationToken cancellationTokenSetFrame;CancellationToken cancellationTokenDownloadFrames;public WebcamListViewModel(INavigationService navigationService, IApiAutostradeManagerFactory apiAutostradeManagerFactory) : base(navigationService,apiAutostradeManagerFactory){    OpenVideoWebcamCommand = new Command<Webcam>(async (webcam) => {        await navigationService.NavigateAsync(Locator.WebcamVideoPopUpPage);        Messenger.Default.Send(new InfoWebcamVideoMessage(webcam.c_mpr, webcam.c_uuid, webcam.t_str_vid));    });    InitializeWebcamsCommand = new Command(async () => await RunSafe(InitializeWebcams()));    InitializeWebcamsCommand.Execute(null);    cancellationTokenDownloadFrames = tokenSourceDownloadFrames.Token;    DownloadFramesTask = new Task(async () => {        cancellationTokenDownloadFrames.ThrowIfCancellationRequested();在我的 viewModel 中,我有兩個(gè)任務(wù):DownloadFramesTask 和 SetFrameOnViewTask,每 500 毫秒增加一個(gè)計(jì)數(shù)器,用于顯示輪流中的四個(gè)幀之一。
查看完整描述

1 回答

?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

而不是這個(gè):


foreach (var web in ListOfWebcam)

{

    web.image1 = await GetWebcamFrame(web.frame1);

    web.image2 = await GetWebcamFrame(web.frame2);

    web.image3 = await GetWebcamFrame(web.frame3);

    web.image4 = await GetWebcamFrame(web.frame4);

}

您可以一次執(zhí)行所有異步任務(wù):


var tasks = new List<Task>();

tasks.Add(GetWebcamFrame(web.frame1));

// add more tasks here

await Task.WhenAll(tasks);

Task.Delay()您還可以刪除對(duì);的使用。目前還不清楚為什么有必要這樣做。


查看完整回答
反對(duì) 回復(fù) 2023-09-09
  • 1 回答
  • 0 關(guān)注
  • 97 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)