小编Fra*_*sco的帖子

更改Farseer Physics Engine设置以提高性能

我已成功使用Farseer使用XNA开发我的一款游戏.游戏就像Windows和WP7中的魅力一样.我目前正致力于使用MonotouchMonogameIOS中移植我的游戏.我已成功编译和使用Farseer,而不是我的游戏的第一个版本移植到Monotouch和Monogame.一切都很好,除了表演.iPhone设备上的游戏运行速度要慢得多.我做了一些代码调查,似乎主要的瓶颈是Farseer.当它需要连接一个固定装置(圆圈)来管理超过5-6个实体时,它变得非常慢.

阅读文档我注意到要调整Farseer我可以更改Setting static class中的值:

性能

为了充分利用引擎,您应该尝试遵循以下指南:

启用睡眠 睡眠使您可以拥有世界上大量的身体.它还可以增加发动机的稳定性,因为一堆物体中的小运动不会在堆叠中扩散.睡眠的身体几乎没有头顶,因此建议启用它.

禁用CCD 连续碰撞检测可防止隧道效应,但会降低性能.如果你没有隧道问题,你应该一起禁用CCD.

最小化位置和速度迭代 的次数大量的迭代使得引擎以性能为代价更加稳定.您应该调整值以适合您的游戏.

坏消息是如果我改变那个类的任何值,似乎什么也没发生.我尝试更改值如下:

EnableDiagnostics = false
VelocityIterations = 6
PositionIterations = 2
ContinuousPhysics = false
Run Code Online (Sandbox Code Playgroud)

我也尝试使用较低的值,如VelocityIterations = 1,但似乎没有任何改变....

任何人都已更改设置类值以提高性能?

iphone farseer xamarin.ios monogame

6
推荐指数
1
解决办法
1063
查看次数

c#波形文件的俯仰移位

我目前正在尝试使用此算法对波形文件进行音高变换

https://sites.google.com/site/mikescoderama/pitch-shifting

这里我的代码使用上面的实现,但没有运气.输出的wave文件似乎已损坏或无效.

代码非常简单,除了音高变换算法:)

  1. 它加载一个wave文件,它读取wave文件数据并将其放在byte []数组中.
  2. 然后它将字节数据"标准化"为-1.0f到1.0f格式(根据音高移位算法的创建者的要求).
  3. 它应用音高移位算法,然后将规范化数据转换回bytes []数组.
  4. 最后使用原始波形文件的相同标题和音高变换数据保存波形文件.

我错过了什么吗?

        static void Main(string[] args)
    {
        // Read the wave file data bytes

        byte[] waveheader = null;
        byte[] wavedata = null;
        using (BinaryReader reader = new BinaryReader(File.OpenRead("sound.wav")))
        {
            // Read first 44 bytes (header);
            waveheader= reader.ReadBytes(44);

            // Read data
            wavedata = reader.ReadBytes((int)reader.BaseStream.Length - 44);
        }

        short nChannels = BitConverter.ToInt16(waveheader, 22);
        int sampleRate = BitConverter.ToInt32(waveheader, 24);
        short bitRate = BitConverter.ToInt16(waveheader, 34);

        // Normalized data store. Store values in the format -1.0 …
Run Code Online (Sandbox Code Playgroud)

c# audio wav pitch pitch-shifting

6
推荐指数
1
解决办法
4843
查看次数

标签 统计

audio ×1

c# ×1

farseer ×1

iphone ×1

monogame ×1

pitch ×1

pitch-shifting ×1

wav ×1

xamarin.ios ×1