我試圖獲得一款XNA遊戲(4.0,Visual Studio 2015,.NET 4.0 Framework),我在一臺計算機上編寫了我的筆記本電腦,但性能在某些部分下降到2,然後回到60其他人(我的意思是在我列舉的某些不同的GameStates中)。要清楚的是,我寫的計算機完美工作,並保持在60 fps的恆定速度,但另一臺計算機卻非常糟糕。爲什麼我的XNA遊戲在另一臺計算機上變慢?
內存/ CPU使用率小於它們兩者的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;
整理過程中的方法和switch語句之後。
有沒有人有什麼不對的建議?