我有一系列 jpg 图像,我正在捕获这些图像并将其渲染到屏幕上以创建视频。
我正在使用 JpegBitmapDecoder 从 MemoryStream 解压缩图像,并通过在 Image 控件上设置 Source 来呈现它。这似乎工作正常,但处理器开销相当高。图像为 1280x720,以 30fps 运行,我几乎无法跟上我的电脑(双核 2.8Ghz)。以更高的分辨率运行会导致我丢弃帧。我想尝试降低 CPU 利用率。
花费的大部分时间似乎都花在了解码上(仅在我的机器上进行解码的简单基准测试表明我可以解码大约 40fps)。有谁知道是否有更快的解码器可用(DirectX?DirectShow?我可以卸载到视频卡的东西?)
至于渲染,Image 控件似乎不是为这种类型的使用而设计的(实际上我很惊讶它完全起作用,我只是尝试了它,因为它很容易做到)。是否有另一种方法可以更快地渲染单个帧?