Windows mobile 双缓冲
windows mobile 6.5 CE是否支持双缓冲?这完全取决于您的意思和位置。几乎所有的CE显示器驱动程序都使用双缓冲从视频内存绘制到显示器,以防止撕裂和伪影(我从来没有见过这样的驱动程序)Windows mobile 双缓冲,windows-mobile,compact-framework,Windows Mobile,Compact Framework,windows mobile 6.5 CE是否支持双缓冲?这完全取决于您的意思和位置。几乎所有的CE显示器驱动程序都使用双缓冲从视频内存绘制到显示器,以防止撕裂和伪影(我从来没有见过这样的驱动程序) 如果你问一些框架,比如Compact framework、MFC、Direct Show或其他什么,是否通过API支持它,那么我们需要知道你在说什么框架。这实际上取决于你的意思和位置。几乎所有的CE显示器驱动程序都使用双缓冲从视频内存绘制到显示器,以防止撕裂和伪影(我从来没有见过这样的驱动程序) 如
如果你问一些框架,比如Compact framework、MFC、Direct Show或其他什么,是否通过API支持它,那么我们需要知道你在说什么框架。这实际上取决于你的意思和位置。几乎所有的CE显示器驱动程序都使用双缓冲从视频内存绘制到显示器,以防止撕裂和伪影(我从来没有见过这样的驱动程序)
如果你问一些框架,比如紧凑的框架,MFC,直接显示或者什么,通过API来支持它,那么我们需要知道你在谈论什么框架。
< P>如果你自己画控件,那么你可能想考虑执行你自己的双缓冲。 最近,我还没有充分了解WinCE的最新情况,我本以为他们最终会移植桌面上的双缓冲功能,但也许他们没有 基本上前提是只画一个图像,然后在一次拍摄中将该图像拼接到“真实”图形对象上 它是这样的“某物”(这来自内存,因此idk,如果语法完美): 然后使您自己的所有控件继承自此控件,并将绘制代码添加到DoPaint的覆盖中你可能想把上面的代码只创建一次位图(cTor),处理大小调整事件,然后在调整大小上重新创建它,然后添加一些处理代码。当对象死亡时,处理位图。
如果你自己绘制控件,那么你可能需要考虑执行你自己的双缓冲。 最近,我还没有充分了解WinCE的最新情况,我本以为他们最终会移植桌面上的双缓冲功能,但也许他们没有 基本上前提是只画一个图像,然后在一次拍摄中将该图像拼接到“真实”图形对象上 它是这样的“某物”(这来自内存,因此idk,如果语法完美): 然后使您自己的所有控件继承自此控件,并将绘制代码添加到DoPaint的覆盖中您可能希望对上述操作进行修改,只创建一次位图(ctor),处理调整大小事件,然后在调整大小时重新创建位图,然后添加一些处理代码,这样您就可以了。当对象死亡时处理位图。当我在windows mobile中向下滚动时,位图的紧凑框架所有控件都会闪烁,因此我想知道是否有任何方法可以阻止它,谢谢advance@Dev.Windows你自己画这些控件吗?是的,我自己画控件当我在windows mobile中向下滚动我所有的控件都会闪烁,所以我想知道是否有任何方法可以阻止它,谢谢advance@Dev.Windows你自己画这些控件吗?是的,我自己画控件
public class DoubleBufferedControl : Control
{
protected override OnPaint(object sender, PaintEventArgs e)
{
using(Bitmap bitmap = new Bitmap(Width, Height))
{
using(Graphics graphics = Graphics.FromImage(bitmap))
{
DoPaint(sender, new PaintEventArgs(graphics));
e.Graphics.DrawImage(bitmap, 0, 0);
}
}
}
protected virtual DoPaint(object sender, PaintEventArgs e)
{
/* left empty for overrides */
}
protected override OnPaintBackground(object sender, PaintEventArgs e)
{
/* do nothing */
}
}