Я пытаюсь получить игру XNA (4.0, Visual Studio 2015, .NET 4.0 Framework). Я написал на одном компьютере для работы на моем ноутбуке, но производительность падает до 2 в некоторых частях, а затем возвращается к 60 в другие (я имею в виду в некоторых разных GameStates, которые я перечислял). Чтобы быть ясным, компьютер, который я написал на нем, отлично работает и остается постоянным 60 кадров в секунду, но другой компьютер сильно страдает.Почему моя игра XNA медленная на другом компьютере?
Использование памяти/процессора не превышает 25% от их обоих, поэтому я не думаю, что это связано с кодом, тем не менее вот что вызывается во время части метода Update, которая запускает пустой экран:
private void switchGameMode()
{
switch (state)
{
case GameState.preTitleScreen:
if (playing != paganBackground)
{
MediaPlayer.Stop();
playing = paganBackground;
}
MediaPlayer.Stop();
surprisePreTitleScreen();
break;
Остальное - это конец оператора switch. Метод:
private void surprisePreTitleScreen()
{
if ((oldpad1.Buttons.Start == ButtonState.Released && pad1.Buttons.Start == ButtonState.Pressed) || (oldkeys.IsKeyUp(Keys.Enter) && keys.IsKeyDown(Keys.Enter)))
{
jeopardyTitle.Play();
state = GameState.titleScreen;
}
}
А вот что втягивается в методе рисования:
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.Wheat);
spriteBatch.Begin();
switch(state)
{
case GameState.preTitleScreen:
break;
После завершения метода и переключателя заявление, конечно.
Есть ли у кого-нибудь предложения относительно того, что не так?