Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6941547
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T12:53:59+00:00 2026-05-27T12:53:59+00:00

I just noticed today, that when I compile and run a new XNA 4.0

  • 0

I just noticed today, that when I compile and run a new XNA 4.0 game, one of CPU threads is running at 100% and the framerate drops to 54 FPS.

The weird thing is that sometimes it works at 60 FPS, but then it just drops to 54 FPS.

I haven’t noticed this behaviour before, so I don’t know if this is normal. I uninstalled my antivirus and reinstalled XNA Game Studio, XNA Redistributable and .NET Framework 4.

If I set IsFixedTimeStep to false, the game runs at 60 FPS and CPU usage is minimal (1-2%). but as far as I know, this requires me to do velocity calculations using ElapsedGameTime, but I don’t know how to do it, since I’m fairly new to XNA. But some say that setting it to false reduces jerky animations.

I already checked this forum thread, but no one has found a good solution.

Has anyone experienced this problem?

EDIT:
I did some more research and I implemented a FPS counter (until now, I measured it with Fraps), and my counter shows the game running at 60 FPS (with IsFixedTimeStep = true), so this solves the FPS issue, but the high CPU usage remains. Is it possible that this happens to everyone?

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T12:54:00+00:00Added an answer on May 27, 2026 at 12:54 pm

    According to this discussion on XBox Live Indie Games forum , apparently on some processors (and OS-s) XNA takes up 100% CPU time on one core when the default value of Game.IsFixedTimeStep is used.

    A common solution (one that worked for me as well) is to put the following in your Game constructor:

    IsFixedTimeStep = false;
    

    What does it mean?

    The Game.IsFixedTimeStep property, when true, ensures that your frame (Update(), Draw(), …) is called at a fixed time interval specified in Game.TargetElapsedTime. This defaults to 60 calls per second.

    When Game.IsFixedTimeStep = false, the calls to the next frame will happen when the previous one is finished. This is illustrated in the time graph below:

    enter image description here


    How does this change affect my code?

    All fixed time calculations (movements, timings, etc.) will need to be modified to accommodate variable time steps. Thankfully, this is very simple.

    Suppose you had

    Vector3 velocity;
    Vector3 position;
    

    for some object, and you are updating the position with

    position += velocity;
    

    On default, this would mean that the speed of your object is 60 * velocity.Length() units per second. You add velocity 60 times each second.

    When you translate that sentence into code, you get this simple modification:

    position += velocity * 60 * gameTime.ElapsedGameTime.TotalSeconds;
    

    To put it simple: you’re scaling the values you add based on how much time has passed.

    By making these modifications in places where you perform moving (or timing, etc.), you’ll ensure that your game acts as it would back when it was fixed time step.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Just today I noticed on our Wordpress blog that the Facebook iframe is showing
I just noticed today that a website I am creating has the WWW or
Just today I noticed a strange behavior in an object model that was previously
I noticed today that there is a new version of Aptana Studio 3.2.1 out
I just downloaded Firefox 3.6 today and I noticed in the list of new
I just noticed today that I have got lots of spam links in my
I just noticed that moving the mouse cursor across a tooltip does not seem
I just noticed that java.beans.Introspector getBeanInfo does not pickup any superinterface's properties. Example: public
I just noticed that say http://s7.addthis.com/js/250/addthis_widget.js#pub=PUBID does the equivalent of http://s7.addthis.com/js/250/addthis_widget.js?pub=fct-250 but is much
I just noticed that for vector push_back it is push back a reference to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.