求GPU函数替代CPU实现8位灰度JPEG转32位ARGB JPEG方案
需求:GPU实现8位灰度JPEG转32位ARGB JPEG(无CPU占用)
核心要求
- 使用GPU函数完成8位灰度JPEG到32位ARGB JPEG的转换,全程不占用CPU资源
- 当前采用SharpDX实现的CPU转换方案,处理9344×7000的图片耗时约300ms,需替换为GPU实现
- 注:实际需求为8位转32位ARGB,此前误写为8位转24位
当前CPU转换代码(SharpDX实现)
using (MemoryStream ms = new MemoryStream(viewModelResultImage.JpegData)) { var decoder = new SharpDX.WIC.BitmapDecoder(_wicFactory, ms, DecodeOptions.CacheOnLoad); var frame = decoder.GetFrame(0); var formatConverter = new FormatConverter(_wicFactory); formatConverter.Initialize(frame, SharpDX.WIC.PixelFormat.Format32bppPBGRA); BitmapUp1Channel0 = D2D1.Bitmap.FromWicBitmap(_renderTarget, formatConverter); }
内容的提问来源于stack exchange,提问作者user28018428
相关产品推荐
相关产品推荐

