Вопрос

Я пишу игру для телефона Windows 7, используя XNA 4.0, Visual Studio 2010 Pro и встроенный эмулятор телефона Windows 7. Я загрузил пару образцов игровых центров, но я получаю очень низкие FPS, даже без реальной графической работы. Он заикается между 30, 15, затем 10, просто обычно медленно.

Мой компьютер не крикер, но у меня есть ноутбук Core i5 2,4 ГГц и 4 ГБ оперативной памяти, поэтому я должен подумать, что он может идти в ногу с любым оборудованием на телефоне.

Любые идеи? Это нормально? Может быть, мой способ измерения FPS неверен (я использую fps=1/gametime.elapsedtime.totalseconds)?

Это было полезно?

Решение

Чтобы рассчитать свой FPS, вы можете использовать этот код:

//time since last FPS update in seconds
    float deltaFPSTime = 0;

    protected override void Update()
    {
        // The time since Update was called last
        float elapsed = (float)ElapsedTime.TotalSeconds;

        float fps = 1 / elapsed;
        deltaFPSTime += elapsed;
        if (deltaFPSTime>1)
        {

            Window.Title = "I am running at  <" + fps.ToString()+"> FPS";
            deltaFPSTime-=1;
        }
        // Let the GameComponents update
        UpdateComponents();
    }

Проверьте, чтобы получить больше образцов счетчиков FPS.

С этим кодом, проверьте, если вы все еще получаете странные результаты.

Другие советы

Посмотрите, как мастер измеряет FPS: http://blogs.msdn.com/b/shawnhar/archive/2007/11/23/game-timing-in-xna-game-studio-2-0.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top