public Task<ObservableCollection<WaterFallDataSource2>> InitalrenderSourceandBrush2(int width)
{
Stopwatch w = new Stopwatch();
w.Start();
points3.Clear();
int wavelength = GlobalStorage.BigWaves.Length;
int allRows = wavelength / width;
w.Stop();
Debug.WriteLine("w.ElapsedMilliseconds:" + w.ElapsedMilliseconds);
Debug.WriteLine("allRows:" + allRows);
if (allRows > 0)
{
Parallel.For(0, _pagesize, (lk) =>
{
ObservableCollection<DataPoint3> dataPoints = new ObservableCollection<DataPoint3>();
for (byte j = 0; j < 150; j++)
{
for (short i = 0; i < width; i++)
{
DataPoint3 dataPoint = new DataPoint3() { VariableX = i, VariableY = j };
dataPoint.Type = GetColorIndex2(GlobalStorage.BigWaves[lk * width + i][j]);
dataPoints.Add(dataPoint);
}
}
WaterFallDataSource2 waterFallDataSource = new WaterFallDataSource2();
waterFallDataSource.DataPoints = dataPoints;
waterFallDataSource.BrushInfo = brushes;
waterFallDataSource.Index = lk;
waterFallDataSource.Width = width;
waterFallDataSource.StartTime = BeatWaveDataConversionExtension.WaveDotToDateTime(BeatInfoCache.BeatInfos.ElementAt(lk * width).R).ToString();
points3.Add(waterFallDataSource);
});
return Task.FromResult<ObservableCollection<WaterFallDataSource2>>(points3.OrderBy(p => p.Index).ToObservableCollection<WaterFallDataSource2>());
}
else
{
ObservableCollection<DataPoint3> dataPoints = new ObservableCollection<DataPoint3>();
WaterFallDataSource2 waterFallDataSource = new WaterFallDataSource2();
for (byte j = 0; j < 150; j++)
{
for (short i = 0; i < wavelength; i++)
{
short value = GlobalStorage.BigWaves[i][j];
DataPoint3 dataPoint = new DataPoint3() { VariableX = i, VariableY = j };
dataPoint.Type = GetColorIndex2(value);
dataPoints.Add(dataPoint);
}
}
waterFallDataSource.DataPoints = dataPoints;
waterFallDataSource.BrushInfo = brushes;
waterFallDataSource.Index = 0;
waterFallDataSource.Width = width;
points3.Add(waterFallDataSource);
return Task.FromResult<ObservableCollection<WaterFallDataSource2>>(points3);
}
}

调用

var reuslt = await _stTrendController.InitalrenderSourceandBrush2((int)firstrowgrid.ActualWidth - 27);

c# 将一个长耗时任务改成task的更多相关文章

  1. Cocos2dx 3.1.1 将一个2.X的项目改成3.1版本

    最近在论坛上下载到了一个Cocos2dx的单机跑酷例子, 也不知道是2.x版的, 花了一天时间试着把他改成3.1.1的试试, 现在已经可以顺利编译的, 但是还是有Heap Free的问题,调试了好几天 ...

  2. 把sql server 2000的用户表的所有者改成dbo

    怎么样把sql server 2000的用户表的所有者,改成dbo,而不是用户名. 推荐使用下面介绍的第二种方法,执行以下查询便可以了.sp_configure 'allow updates','1' ...

  3. C# Windows Phone 8 WP8 开发,将WebClient的DownloadStringCompleted事件改成非同步的awiat方法。

    原文:C# Windows Phone 8 WP8 开发,将WebClient的DownloadStringCompleted事件改成非同步的awiat方法. 一般我们在撰写Windows Phone ...

  4. arm指令bne.w改成b,即无条件跳转

    近期逆向一个程序,需要把bne.w改成b,无条件跳转.由于ios逆向不像pc上,可以在od里直接改汇编指令,这篇文章给了我很大的帮助.通过memory write 修改后,验证可行后,再用ultrae ...

  5. wordpress文章链接怎么把默认的别名改成id形式和伪静态设置

    别名默认是文章标题,打不开,改成英文形式可以打开,但这样很不方便,还有可能重复.怎么改成按文章id自动生成相应链接呢 找到设置---固定链接----把默认的日期和名称型改成自定义结构把末尾的%post ...

  6. 关于富文本编辑器—UEditor(java版)的使用,以及如何将UEditor的文件/图片上传路径改成绝对路径

    突然发现好久没写博客了,感觉变懒了,是要让自己养成经常写文章的习惯才行.既可以分享自己的所学,和所想,和大家一起讨论,发现自己的不足的问题. 大家可能经常会用到富文本编辑器,今天我要说的是UEdito ...

  7. Java将一个字符串的首位改为大写后边改为小写的实现,String

    Java将一个字符串的首位改为大写后边改为小写的实现,String 思路: 获取首字母, charAt(0) substring(0,1) 转成大写 toUpperCase() 转大写hellO=== ...

  8. quartz集群 定时任务 改成可配置

    前面的博文中提到的quartz集群方式会有以下缺点: 1.假设配置了3个定时任务,job1,job2,job3,这时数据库里会有3条job相关的记录,如果下次上线要停掉一个定时任务job1,那即使定时 ...

  9. ecshop分类页把分类描述改成FCKeditor编辑器

    最近放一个网站 http://www.macklin.cn/productline/35 有个产品分类页面需要添加分类缩略图和图文的描述 一.首先说下添加分类缩略图的步骤吧 1,依葫芦画瓢,参照的是e ...

随机推荐

  1. Selenium原理初步--Android自动化测试学习历程

    章节:自动化基础篇——Selenium原理初步(第五讲) 注:其实所有的东西都是应该先去用,但是工具基本都一样,底层都是用的最基础的内容实现的,测试应该做的是: (1)熟练使用工具,了解各个工具的利弊 ...

  2. 10-string类的length()返回值一起的问题

    c++ string类length()(size())函数返回值–无符号数 首先,先来发现问题 string s = ""; for(int i = 0; i < s.len ...

  3. Spring基于AspectJ的AOP的开发之AOP的相关术语

    1. Joinpoint(连接点) -- 所谓连接点是指那些被拦截到的点.在spring中,这些点指的是方法,因为spring只支持方法类型的连接点(任何一个方法都可以称为连接点) 2. Pointc ...

  4. UI设计初学者如何避免走弯路?

    对于初学UI设计的人而言,可能对UI具体是做什么,或者自己是否能顺利转行胜任这样的岗位存在一定的顾虑,今天我们就来重点说说UI是做什么的,以及想学UI到底要如何避免走弯路,快速的学成. 问题一:UI设 ...

  5. 【UML】UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)

    http://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的 ...

  6. asio 广播代码示例

    代码网络收集 修改了一个编译的小问题 客户端 // Client.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include < ...

  7. eclipse缓存太重,新手最容易中招

    有4种方法,从上到下清理:

  8. springmvc 整合shiro

    1.引用maven <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro ...

  9. 二进制搭建kubernetes多master集群【开篇、集群环境和功能介绍】

    本文主要说明kubernetes集群使用组建的版本和功能介绍.. 一.组件版本 Kubernetes 1.12.3 Docker 18.06.1-ce Etcd 3.3.10 Flanneld 0.1 ...

  10. spring boot2.0冷知识

    首先,Spring Boot 2.0.0 要求 Java 8 或更高版本,不再支持 Java 6 和 7. 在 Spring Boot 2.0 中,许多配置属性已被重命名或被删除,相应地,开发者需要升 ...