本地机器和模拟器的结果不同

时间:2012-07-20 13:49:05

标签: windows-8 farseer

我正在开发一款带有Windows 8和更低级物理的游戏。当我在开发过程中在本地机器上玩游戏时,效果非常好,它给我58-60 FPS。

然而,当我在模拟器中检查相同的结果时,性能是25-30 FPS,并且对象的行为看起来不同,这真的很奇怪。

我现在缺少任何特定的属性,这将使我的游戏在模拟器中正常工作,因为最终游戏应该完全适用于所有平台。 任何指导都会有很大的帮助。提前谢谢。

更新: 这是我用Windows 8和Farseer物理开发的游戏的代码。

    <FarseerHelper:PhysicsCanvas x:Name="PhyCanvase">
        <FarseerHelper:PhysicsSprite x:Name="cnvBox" Height="64" Width="64" Loaded="cnvBox_Loaded">
                <Image Source="box.png" ></Image>
        </FarseerHelper:PhysicsSprite>
     <FarseerHelper:PhysicsSprite x:Name="Floor" Canvas.Top="692"  Width="1310" Height="120" IsStatic="True" FrictionCoefficient="1" RestitutionCoefficient="0.4"/>
    </FarseerHelper:PhysicsCanvas>

C#:

    Vertices ver = PolygonTools.CreateRectangle(0.53f, 0.53f);
    PolygonShape poly = new PolygonShape(ver, 1.0f);
    poly.ComputeProperties();
    Fixture fix = cnvBox.BodyObject.CreateFixture(poly, cnvBox);

    fix.Body.Friction = 0.5f;
    fix.Body.Restitution = 0.3f;

当我在开发时在本地机器上玩游戏时,结果非常好但是当我在模拟器中检查相同的结果时,对象的行为在两者上似乎都不同。主要问题是动态对象在模拟器中的某些时候跳转。为此,我尝试从地板和对象中删除restitutionCoefficient但仍然发出相同的问题?有人可以就此提出建议吗?

再次感谢你。

David Jacob

0 个答案:

没有答案