C#中的元素智能数组操作

时间:2016-05-20 17:52:03

标签: c# arrays

我正在撰写本质上是视频查看器的内容; 320x320视频帧存储在自定义文件类型中,该文件类型在帧存储开始之前还包含一些非像素的每像素校正数据。查看器将用C#编写。

目前,我使用Filestream.Read()从文件中读取数据,并使用Buffer.BlockCopy()从byte []数组复制到ushort []数组。所有这些似乎都非常有效,但是当涉及到应用每像素校正数据时,我正在使用一个循环,使用以下伪代码:

for (pixel in pixels) {
     pixel_corr = pixel*pixel_gain + pixel_offset;
}

这就是它的全部内容。我一次做6帧(从6个不同的角度录制视频),问题是这个处理无法跟上实时擦洗。如果我甚至相当慢地拖动框架选择滑块,则框架更新无法跟上拖动。当然,一种解决方案是重新计算新帧,而不是在滑块值发生变化时,而是在用户停止拖动时 - 但是,当我处于“播放”模式时,这不会提高性能。

是否有任何解决方案可以提高C#中这种元素操作的速度?

0 个答案:

没有答案