最近做了一个有关图形滚屏优化的项目,Direct过于复杂,且兼容性不佳,不考虑。Windows自带的GDI及GDI+编程操作相对简单,但是如何做到高效、平滑,需要一些技巧。
为此,准备了一个系列文章供大家参考。
第一篇先从入门级做起,先做最基础的画图:
黑底屏幕,平铺白色小方格,然后做出持续向上滚动的效果,然后输出fps。如下图:
关键代码:
private void panel1_Paint(object sender, PaintEventArgs e)
{
//黑色底清屏
e.Graphics.Clear(Color.Black);
//第一次输出fps
//实际上这里是不需要的,但由于入门级的绘制太慢,如果不在绘制前输出,就看不到了
e.Graphics.DrawString(string.Format("fps: {0}", (int)fps), Font, Brushes.Yellow, 10, 20);
//绘制小方格,并根据坐标变化实现上移滚动效果
for (int i=0; i
入门级编程,就是不考虑性能、硬画,只要能达到目的。
正如预想的那样,窗口为800*500像素时,fps大概是8-10帧,而且画面明显闪烁。
而当窗口为最大化1920*1080时,fps只有可怜的1帧,1秒刷新一次,可以想象这是怎样的体验。
下一篇文章我们将在此基础上进行优化,感兴趣的朋友转发+关注。
页面更新:2024-05-29
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号