|
|
|
#1 |
|
Registered User
Join Date: Oct 2008
Posts: 41
|
jerky animation after exe runs for several hours
I'm developing an application which is meant to be continually running for a kiosk. I've noticed that after several hours, the animation becomes jerky, as if the player is trying to do too much and has to slow down the animation. The app continues to run without errors but this change in behavior is irritating. I've checked the apps memory/cpu footprint using windows resource monitor and it's unchanged from when the app initially starts. I'm currently developing using flash develop with the flex compiler, and running flash ver 11.0.r152.
Any ideas what might be happening or how to debug this problem would be appreciated. |
|
|
|
|
|
#2 |
|
Tim
Join Date: May 2001
Location: Ottawa
Posts: 11,873
|
Are you seeing a lot of page faults? If you are it might be caused by memory fragmentation rather than low free memory. Over time the heap may have lots of small objects that can't be used to satisfy large memory requests forcing Flash to coalesce small objects (slow) or just swap memory to and from disk (slower) to meet its requirements.
|
|
|
|
|
|
#3 |
|
Registered User
Join Date: Oct 2008
Posts: 41
|
how would I see page faults....in the resource monitor? or is there a way to query the player memory heap?
|
|
|
|
|
|
#4 |
|
Tim
Join Date: May 2001
Location: Ottawa
Posts: 11,873
|
In Task Manager "View" menu, choose "Select Columns" and you'll find all manner of goodies you can display about a running process. One of those things is "Page Faults". What you really want is a way to track whether page faults are increasing over time or not and for that you probably want to look into Performance Monitor instead of Task Manager
|
|
|
|
|
|
#5 |
|
Registered User
Join Date: Oct 2008
Posts: 41
|
well task manager shows a steady stream of page faults....now what???
|
|
|
|
|
|
#6 |
|
Registered User
Join Date: Oct 2008
Posts: 41
|
actually, I only get page faults if using ssCore.SysTools.releaseMemory( { } ); Which I tried to see if that would fix the problem....it doesn't :-( If I remove the ssCore.SysTools.releasMemory then I just get occasional page faults mostly when the application is starting and then not much afterwards.
I've tried different flash players 10.3 and 11.0 and get the same issues so I'm not sure if it's a player issue |
|
|
|
|
|
#7 |
|
Tim
Join Date: May 2001
Location: Ottawa
Posts: 11,873
|
You'll get lots of page faults if you release the working set (what SysTools.releaseMemory does) since almost every memory reference after that will cause a page fault to reload freed memory pages.
|
|
|
|
|
|
#8 |
|
Registered User
Join Date: Oct 2008
Posts: 41
|
so, I'm left with the same problem....any other suggestions?
|
|
|
|
|
|
#9 |
|
Tim
Join Date: May 2001
Location: Ottawa
Posts: 11,873
|
The only options I see are (1) Try to force Flash to do a garbage collection sweep. I'm not sure this will work though. If you google it you will find explanations of how to do this. (2) Restart your app or reload your SWF so it starts fresh after it runs for a while but before the problem starts cropping up.
|
|
|
|