Joh*_*hnY 5 c# windows performance winforms
我需要编写一个应用程序来播放DICOM多帧图像.每帧都以JPEG格式存储.所有帧都连续存储在一个文件中.现在,我读出每个帧数据并将其传递给以下例程,以构建一个用于显示的位图:
Bitmap CreateBitmap(byte[] pixelBuffer, int frameSize)
{
Bitmap image = null;
try
{
long startTicks = DateTime.Now.Ticks;
MemoryStream pixelStream = new MemoryStream(pixelBuffer, 0, frameSize);
image = new Bitmap(pixelStream);
loadTime = DateTime.Now.Ticks - startTicks;
}
catch (Exception ex)
{
Log.LogException(ex);
}
return image;
}
Run Code Online (Sandbox Code Playgroud)
在测试期间,除了上述例程中的性能不是最佳之外,一切正常.对于800x600帧大小,此例程所需的时间为0毫秒和15毫秒(我不知道为什么).对于1024x768帧大小,所需时间为15毫秒或31毫秒.我的目标是流式传输图像数据并以60Hz的频率播放图像(1024x768版本)而不丢帧.这表明我必须在15毫秒内不断地解压缩JPEG帧.所以我的问题是更好的方法是什么?
它是0毫秒或15毫秒,因为你的计时器缺乏分辨率.使用QueryPerformanceCounter得到准确的时间.
WPF JPEG解码器(System.Windows.Media.Imaging)比GDI +解码器更快.
| 归档时间: |
|
| 查看次数: |
2944 次 |
| 最近记录: |