前言:
D2D性能测试,目的是了解D2D特性,为后续系统设计确定技术路线。主要对D2D绘制不同对方的速度进行测试,测试的对象包括:图像、文本、椭圆和矩形,测试绘制不同对象对帧率的影响。测试结果表明:以帧率下降速度最快排列,绘制文本帧率下降最快,其次是椭圆、矩形,影响最小的是图像。
探讨了提高文本绘制的方法:采用CBitmapRenderTarget,类似于一个位图缓冲区,现在里面进行绘制,然后再纹理贴图的方式显示在屏幕上,速度飞起,但如果窗口大小经常变动或文字内容经常更改,则改方法存在一定的弊端。
一、绘制图像
从硬盘读取一张JPG图像到CD2DBitmap(数据由硬盘,读取内存,在以纹理的方式存储到GPU的显存中,瓶颈在于图像的读取;另外是否要对图像进行修改也是需要考虑的,如果类似DICOM这样,需要调整窗宽窗位,频繁的修改图像,则图像在CPU端的修改,及内存到显存的传输是影像性能的关键),然后显示在窗口中,拖动窗口进行重新绘制,测试对帧率的影像,途中下方输出是绘制的帧率,可以看到对帧率基本没有影响。分析CD2DBitmap应该是以纹理的方式存在于GPU端,绘制的过程就等同于进行纹理贴图进,因此不会对帧率有什么影响。

二、绘制矩形
鼠标每单击窗口一次,在该位置绘制一个矩形,随着点击次数的增加,绘制帧率有所下降,但并不明显。每绘制一次,都需要传输矩形参数到GPU端。

本文详细介绍了使用Direct2D进行D2D性能测试,重点关注了图像、矩形、圆和文本的绘制对帧率的影响。结果显示,文本绘制对帧率影响最大,而采用CBitmapRenderTarget进行缓冲区绘制并纹理贴图的方法能显著提升文本绘制的效率。然而,这种方法在窗口大小变化或文本内容频繁更新时可能存在弊端。通过测试,确认CBitmapRenderTarget是目前最优的解决方案,但具体实现仍需进一步测试。
最低0.47元/天 解锁文章
883

被折叠的 条评论
为什么被折叠?



