4 Replies Latest reply on Jun 18, 2012 3:40 PM by albert_redditt

    CPU core throttling

    albert_redditt

      I keep getting throttle problems

       

      Where an app goes slow and then speeds up to double and then goes slow again.

       

      I noticed it mostly happens when Anti-Virus and MS-Defrag are running, but it also happens at other times when no background stuff is running.

       

      In my animated programs i had to put timing / loop-counters in to control the pulsing, like below.

      [code]

       

      Do

          time1=timer

       

        (   program stuff here  )

       

          time2=timer

         

          'get fastest loop time the computer does.

          if time_min = 0 then time_min = time2-time1

          if time2-time1 < time_min then time_min = time2-time1

          if time2-time1 > time_max then time_max = time2-time1

          time_avg = (time_min+time_max)/2

          time3 += time_avg

          loop_count+=1

         

          'get number of loops in quater second.

          if time3>=.25 then

              for a as integer = 1 to number_of_balls

                  balls(a).speed = ( (balls(a).radius*2) / (loop_count) ) ' change radius*?? to adjust speed

              next

              loop_count=0

              time3=0

          end if

       

      Loop Until Inkey <> ""

       

      [/code]

      I use FreeBasic for doing my programs.

       

      I've got my power options set to "max power usage" when plugged in, and still i'm getting throttle pulsing problems.

       

      I've got a Compaq Presario CQ60-210 US Notebook PC

      AMD Athlon X2 64 ,  Running Windows 7 64 bit with 4 Gig of Ram.

       

      Is there a know problem with other people reporting throttle pulsing ??

        • Re: CPU core throttling

          There seem to be 2 posts with similar content having to do with CPU throttling -- I've copy & pasted the content from your other post here as well.

           

          "I'm having problems with my CPU pulsing.

           

          I have a

          Compaq Presario CQ60-210US Notebook PC

          AMD Athlon X2 64 , running Windows 7 64 bit , with 4Gig RAM.

           

          The problem is my programs pulse slowing to a crawl and then unexpectedly doubling in speed.

           

          I would expect it when Anti-Virus or Defrag are running but it happens all the time.

           

          Is this a known issue for the processor,  I've got my MS Windows power setting set to max-power ussage when plugged in.

          It should stay at 2GHz when plugged in, but it still pulses.

           

          Thank you!!"

            • Re: CPU core throttling
              albert_redditt

              I had put a code snippet in the post , using the 

              [code]

               

              [/code]  HTML tags used by many programming forums.

              The tags separate the code section, into its own scrollable box, usually with a "Select All" button above the code.

               

              When I clicked "POST", it came up with an error code (DENIED) ,  so i reposted it without the code. and apparently it posted both messages.

               

              I forgot to mention that with Windows 7 64 bit , I also set Windows to use the multiprocessor kernel.

              I don't know if this dual core kernel might be causing the pulsing problems.

               

              I'm getting really erratic execution times in my programs.

              Frames Per Second , varying from like from 40- to 60+, Its really hard to smooth out the flow..

              .

            • Re: CPU core throttling
              albert_redditt

              I'm getting really wild Frames Per Second variances.

              It varies every time the program is started.

              Varying from around 4500 to 8500. This makes smooth animation very difficult.

               

              Heres some test code to show the variances in FPS

               

              '===============================================================================

              'Test program to show differences in Frames per Second (CPU pulsing)
              'written in FreeBasic for windows version 0.23

              'FBIDE and FreeBasic 0.23 bundled at: http://fbide.freebasic.net/

              'FBIDE is the simplest and easiest to use IDE
              'with FBIDE just load code and press F5 to quick-run

              '===============================================================================
              'start code test
              '===============================================================================
              'set up screen
              dim as integer xres,yres
              screen 19,8 '800x600,8 bit color
              screeninfo xres,yres
              COLOR ,7 : cls
              '

              'dim some shared (global) vars to check speeds
              dim shared as double fps=60
              dim shared as double fps_min=100000
              dim shared as double fps_max=0
              dim shared as double frame

              '===============================================================================
              function framecounter(txt as string="") as double
                  static as double frame
                  frame=frame+1
                  Static As Double t1,t2
                  If frame>=fps Then
                      t1=timer
                      fps = frame/(t1-t2)
                      if fps<fps_max then if fps<fps_min then fps_min=fps
                      if fps>fps_max then fps_max=fps
                      'put output on title bar
                      Windowtitle txt & int(fps) & "     min = " & str(int(fps_min)) & "     max = " & str(int(fps_max)) & "    diff = "& str(int(fps_max-fps_min))
                      frame=0
                      t2=timer
                  End If
                  function=fps
              End function


              '===============================================================================
              'begin test loop
              '===============================================================================
              dim as single x = -40.0
              do
                 
                  screenlock
                  cls
                
                  'make 40x40 square
                  LINE (x, 80)-(x+39, 119), 4, BF
                
                  screenunlock
                  'sleep 1 'remove to speed up
                 
                  x=x+1 '*(xres/fps)
                 
                  IF (x>xres) THEN x = -40
                 
                  fps=framecounter( "Method 3 ( 'page locking' ) : FPS -> " )

              loop while inkey=""
              '===============================================================================
              '===============================================================================
              END

              .