C# 手势自由拖动性能
我有一个简单的问题,我正在尝试为Windows Phone制作一个大型游戏,但我仍然有一个重要的瓶颈/问题/性能差 我使用过mango profiler,但我没有发现任何问题,事实上它在我的手机上只使用了10%的cpu 让我给你看看这个问题 这是我的更新C# 手势自由拖动性能,c#,windows-phone-7,xna,xna-4.0,C#,Windows Phone 7,Xna,Xna 4.0,我有一个简单的问题,我正在尝试为Windows Phone制作一个大型游戏,但我仍然有一个重要的瓶颈/问题/性能差 我使用过mango profiler,但我没有发现任何问题,事实上它在我的手机上只使用了10%的cpu 让我给你看看这个问题 这是我的更新 protected override void Update(GameTime gameTime) { if (TouchPanel.IsGestureAvailable) { v
protected override void Update(GameTime gameTime)
{
if (TouchPanel.IsGestureAvailable)
{
var gs = TouchPanel.ReadGesture();
switch (gs.GestureType)
{
case GestureType.FreeDrag:
Position += gs.Delta;
break;
}
}
base.Update(gameTime);
}
这是我的画,其中贴图是20x15纹理2D
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
spriteBatch.Draw(map, Position, null, Color.Red, 0f, Vector2.Zero, 1f, SpriteEffects.None, 1f);
spriteBatch.End();
base.Draw(gameTime);
}
问题是,对于更新来说,绘图似乎太慢了,或者有点
例如:
1) 我拖动右侧的屏幕,非常缓慢->贴图纹理在右侧正确移动
2) 我在右边拖动屏幕,然后在左边,相当快->贴图纹理在右边正确移动,但在左边移动时有一点滞后,就像它仍然在右边移动一样
3) 我循环拖动屏幕,在1秒内画一个圆圈->好吧,地图需要3秒来循环移动
我做错了什么
我应该给你看一段youtube视频吗
非常感谢!!
卢卡修好了
这太愚蠢了
在平局之前,我们可能会同时进行多次接触,所以我们必须花一段时间,而不是“如果”的话
if (TouchPanel.IsGestureAvailable)
那就是
while (TouchPanel.IsGestureAvailable)
现在它就像一个魅力
我希望这将有助于那些可能有同样问题的人