Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

SmartSDR CPU utilization increases to the point of display stuttering, freezing...

NO1PC
NO1PC Member ✭✭
edited June 2020 in SmartSDR for Windows
This behavior was present in 2.4.9, still present in 2.5.1. 

Dell Precision M4400, 8GB RAM, SDD, yeah, only a Core2Duo CPU, but...
Win7 Pro 64-bit
SmartSDR is the only active app aside from enterprise-grade Sophos AV.

Fresh start of SmartSDR everything runs fine, smooth display/panadapter.  CPU use is 'high' at 40-50% but not crippling.     Consumes 220-250MB of memory, total overall memory use is typically 50%... nothing is starved RAM or swap space.  

Variously runs fine for a few hours, just sitting here receiving, no other gadgets, DAX, CAT, etc. running.  

After some few hours, a day or two... CPU use has crept up to 65-80%, display stutters miserably, control response is sluggish/hesitant, eventually essentially freezes.  No increase in RAM use.   I'm usually not transmitting during these periods, not logging or recording anything.

So, under other circumstances if 'we' had a memory leak, RAM should be maxed out, paralyzing.  

How does it get to the level of "CPU leak", increased consumption without any change in local apps, use, etc. ??

When I close the app SmartSDR, the windows close but the process takes up 41% CPU for about 45 seconds 'terminating' before it goes away.   Re-open, everything is fine again, until it is not.

Typical answers:  reboot, better computer/CPU, more RAM, Win 7 is dead switch to Win 10 ... won't exactly explain away the symptom/behavior overtime...  something is changing over time running - background sub-process, panadapter 'history', something.

A "better computer" is not impossible to implement, but "the computer" is not responsible for this.  

Is there a configuration setting to reduce this behavior?  I'm a simple, single-use station with little reason or need to want to go back to since-program-started with any activity, etc. - other than just keep the 'radio' running smoothly for as long as it's running.


Answers

  • WX7Y
    WX7Y Member ✭✭✭✭
    edited June 2020
    Slow down the Rate of the water fall should help with a LOT of issues on the computer hardware you are running it on. 
    This is a Computer hardware issue and the computer is struggling at showing you 41% to 80% CPU, the CPU is also doing all the Graphic rendering, sounds like the memory is maxing out because it is storing the Graphic renderings and extra data the CPU can't handle as the BUSY CPU can only handle so much data at a time, this is why in SmartSDR /Display settings really cutting down the Waterfall's rate to about 55 or less and perhaps the FPS down a little bit should help you out.
     You could also try increasing the RAM to 16G which would give the CPU a little bit of breathing room in which to work and not be caching out to the Hard drive causing even a bigger bottle neck.

    YMMV
    73


  • Lawrence Gray
    Lawrence Gray Member ✭✭
    edited July 2019
    I have seen exactly the same behavior with my 6500 running 2.4.9 or 2.5.1.  The only possible pattern I have seen is that this seems to only happen with DAX and CAT running.  In normal SSB operation, I don't need either DAX or CAT, so I don't have them auto-starting.  I've usually seen this issue when operating FT8 or FT4 with DAX, CAT, WSJT-X, JT-Alert and AC-Log also running.   Task Manager shows SmartSDR "hogging" the CPU.  I am using a Dell Latitude laptop with an i5, 8GB ram, solid state HD, and Win7.  Win 7 is updated to the latest update.

    I tried a factory reset and a complete SSDR removal and re-install of SSDR using Tim's excellent procedure, but no change.

    This issue usually takes a few hours to occur and does not appear to be related to transmitting.   As you indicate, a restart restores operation to normal.  It appears to be some Windows/SSDR interaction that could be hard to find.

    Given the poor state of propagation, I haven't been on the air for extended periods lately, so the issue is only an occasional nuisance.

    Larry, W1IZZ
  • Paul - K6HR
    Paul - K6HR Member ✭✭
    edited July 2019
    SmartSDR makes heavy use of your display resources. When using an older CPU/GPU it can be helpful to adjust the display settings to compensate. You'll know if you want to upgrade the computer when the adjusted settings work, but the display is not optimal or quite to your liking.

    For example, I run SSDR here on an Intel i7 cpu 16GB RAM and a $500 video card that has it's own memory. A very powerful setup, and my SSDR does not stutter, ever. But...my resources are almost completely consumed by the Panadapter display settings! 90%+ utilization with the display settings that I prefer.

    So imagine how your performance would be using the same display settings I use.

    One way to confirm if this will help in your situation is to start by lowering the display values set for AVG, FPS and RATE. Try reducing them by half, or try these for starters: AVG:50 FPS 10 RATE 40
    You should see a drastic reduction in resource usage. I find that the RATE setting has the most impact on performance.

    To run "full blown" panadapters, or more likely, multiple "full blown" panadapters, in my experience, requires more capable computer hardware. I don't think you get the full Flex experience using anything less. I build my own computers to keep the costs down. YMMV.
  • Lawrence Gray
    Lawrence Gray Member ✭✭
    edited November 2019
    This is not a display issue.  SSDR works fine for hours and then suddenly slows to a crawl.   A check of Process Explorer shows SSDR hogging the CPU, when it normally uses about 6%.   As I write this post, SSDR is using 6%, DAX is using about 2%, CAT is using 0.2%, WSJT-X is using 1.5% max (usually about 0.5%), JT-Alert and AC-Log are using minimal CPU time.   The laptop is basically idling along with 80%+ "free CPU".  When the issue occurs, SSDR CPU usage goes to 60%.

    I think the issue is some sort of process conflict.

  • Dudley  WA5QPZ
    Dudley WA5QPZ Member ✭✭✭
    edited March 2020
    Larry,

    I suspect the other comments are correct,  it's most likely video driver not able to update quick enough over time,   You can lower your Display FPS rate ,  and lower the panadapter below the bottom line so the panadapter does not update ..   If you are using the Intel Graphics subsystem ,  in the old dual cores, the Intel Graphics was very slow compared to a separate graphics card,  and is very marginal with any thing else running ..    You might want to go to the Intel site and download the latest graphics driver,  rather than the generic Windows driver.  But your system has less resources than what is recommended...     Be sure too that you .NETFramework is up to date too ..  
    73,
    Dudley
    WA5QPZ
  • NO1PC
    NO1PC Member ✭✭
    edited July 2019
    Lawrence and Dudley (hey!!) are getting sorta close... maybe... or not.

    As posted - RAM is not constrained - 8GB total, only 1.5 GB and 1-2% CPU used w/o SSDR running.  CPU hits 15% used by SSDR and RAM 1.94 GB used when SSDR is first run.   RAM is not starved.  CPU consumption change is not apparent until after some amount of run-time.

    There is NO difference in system use/activity between first run and 1-2-8 hours later... it's just sitting here receiving - no DAX, no CAT, nadda. 

    No Intel graphics drivers involved - nVidia Quadro FX-770M chipset.  Plus/minus generic Windows drivers or nVidia drivers...

    When the system degrades it just decides to degrade.  "You were fine 1....**** hours ago... what was 'good' when you started that suddenly isn't now??"     If there is an accumulation of processes or process thrashing over time... Why? How?  Who's not cleaning up after themselves?

    If it's really "GPU-/driver-bound" and some of that work is being handled, and poorly accumulated by the main CPU... we kinda need to know "don't try this with generic MS drivers, "SSDR requires ****-graphics/GPU and those drivers" to keep dirty work out of the CPU, or we choke the system.   This is detectable and should probably present a warning, or a diag like we had checking DPCs (a different thing, but you get the idea...) 

  • Lawrence Gray
    Lawrence Gray Member ✭✭
    edited July 2019
    No, the comments re: graphics are not correct.  I monitored GPU utilization, GPU memory utilization...   GPU utilization is 25% running all the digital software with SSDR, DAX, CAT.  GPU dedicated memory utilization is low, as is system memory.   In any case, I don't think it wouldn't be intermittent under steady state operating conditions?  Understand that nothing changes in terms of open software when the issue arises.  It takes several hours before it shows up, if the issue occurs.   Also, Just a single slice is open.  Also, I have tried lowering the various display settings--issue still occurs.

    I'm running an quad core i5 with the latest Intel graphics drivers.   Never had an issue of any kind until 2.4.9.   The doc for version 3 says an i3 is okay?

    In the process of looking at the issue and my hardware, I discovered something that is obvious, but I never had any reason to try it.   If I pop the panadapter out and then minimize it, leaving just the TX window on the screen, SSDR CPU usage drops to about 2%, from the usual 6-10%.   GPU utilization goes from 25% to  0.04%.  Note that the digital software (I use either WSJT-x or FLDigi), with the waterfall running, uses virtually no GPU resources.   I've never really used the SSDR "pop-out" feature, but I will use it for digital op's in the future.  The SSDR panadapter is basically redundant when using digital mode software.

    The pc being used is up to date with all windows updates, including .Net.

    In my worklife, I did a fair amount of software work.  This issue is a software issue, probably Windows, and may be present only in Windows 7 with the current updates.  I have yet to experiment with a Windows 10 machine.  That will be the next set of experiments.   In the meantime, this issue is not a real problem for me--just mildly irritating.

    Larry, W1IZZ

  • Lawrence Gray
    Lawrence Gray Member ✭✭
    edited July 2019
    Have you looked at GPU utilization under normal conditions?  Just curious what sort of utilization you are seeing on your particular PC.

    In any case, I don't see how this can be an intermittent problem, that only occurs after several hours.  I have operated contests and never had the issue.  I do not think it is a under-powered hardware issue.
  • Steve K9ZW
    Steve K9ZW Member ✭✭✭
    edited July 2019
    I replaced one of my computers this spring when faced with the same sort of issues. The old PC was marginal specification, used onboard graphics and had just enough ram to run things. After an hour or so it had the same problems as what you’re experiencing. Swapped it out for a higher spec machine and my woes went away. Back in the very early pre-release days of SmartSDR I had faced a similar system resource issue and replaced a PC back then. BTW on the new machine I can run lots of other programs without giving SmartSDR a hiccup. There are some subtle differences between the versions you are comparing which have an effect on system utilization. I’d have to dig into my notes to enumerate the ones I read about. Expect you were more stable before and the change nudged your system into instability. If you can duplicate the problem with a better computer then you have a radio problem to dig into. GL and 73 Steve K9ZW Http://K9ZW.wordpress.com
  • NO1PC
    NO1PC Member ✭✭
    edited July 2019
    Interesting that separating the waterfall from the main UI changed things.  I haven't needed/wanted to update this system with Win 10, but am keenly aware from the 8-5 thing that updates, etc. go away at the end of this year, so I'll get to it sometime.

    Thanks!
  • David-N5PSM
    David-N5PSM Member ✭✭
    edited July 2019
    I do not think that address the question......
  • David-N5PSM
    David-N5PSM Member ✭✭
    edited July 2019
    have you noticed if the graphics is becoming too loaded down,,,,not the app (mabe caused by the app?)
  • Mark_WS7M
    Mark_WS7M Member ✭✭✭
    edited July 2019
    Without having your computer in front of me and running some analysis tools on it when the issue occurs I suspect several things:

    1) Video rate as discussed above.  
    2) Waterfall rate.  The waterfall is s surprisingly complex thing to render as you must shift everything down 1 pixel then draw the next line in place and repeat.  When I looked at SSDR I was not convinced this task was being offloaded to a GPU. I could be wrong.
    3) OS memory thrashing

    On the last one, regardless of Win7 or Win10, 8GB in my humble opinion is barely enough to do much of anything.

    SSDR which is written using .NET is a garbage collected language when memory runs scarce things can start to thrash a little.

    You say a new computer is not possible.  I get that.  They are expensive, but then you say it is not the computers fault.  Well that may or may not be true.  Honestly I think you have some things to try:

    1) Reduce video frame rate in the pan to like 10 FPS.
    2) Reduce waterfall to the minimum
    3) Make the size of your pan/waterfall about 50% of what it was when causing problems.

    Try these things and see if it gets any better.

    I'm not going to say that SSDR doesn't have memory leaks and certainly .NET does.  It is matter of how long it takes before they build up enough to cause problems.   On Win10 8GB is BARELY enough to just run the OS.   Win7 is better but not by tons.

    Let us know how things do with video and size changes.
  • NO1PC
    NO1PC Member ✭✭
    edited June 2020
    1. I never said a new computer is not possible.  Given 4GB of 8GB memory free - it's not RAM bound.  Given 'only' 40-70% CPU consumed it is not entirely CPU bound.  Given other specs that an i3 is acceptable recommended platform it is not a CPU capacity issue. 

    I can 'borrow' any number of i5 systems with 16 GB of RAM, but if some core of the radio app is GPU-bound - different matter. Needs to be called out and known.  Again - for years it was all about mystical DPCs... now it's about the GPU?

    2. Anecdotal - .Net, Flash, ActiveX, Java, etc. - most/all 3rd party dependencies are pathetically just that.  'Platform' helper/advantages have proven SO much not to be, hard to track, compensate for yet another uncontrollable level of bugs and vulnerabilities... ugh.  Our daily scurge in enterprise life.  I work along-side SCIF environments, quite aware of what BS of 'innovators' are not allowed to be coded into mission-/security-critical apps.    I tend to think that Flex might be aware of such things and provide 3rd-party independent performance accordingly - especially in some "end-user" environments where signal intelligence is actually, literally life or "violent compression."

    3. If there truly is a hope, excuse, reliance on GPU in the overall mere display scheme vs what SSDR is merely trying to do as a primarily functional, GREAT (and I mean that seriously and appreciatively) radio platform... that is the 'direction' to be considered.  If pathetic MS contrived GPU alternative code stands in the way... this IS something that can be determined and user-notified pre-install.  

    4. I'm not trying to be a b* about this... just looking to discern and expose enlightenment about what aspects of necessary user-provided systems ensure a superb end-user-experience.  If the 'simple' answer is that SSDR **relies heavily on advanced GPU services** and as such MS-generic provisions are unable to ensure an excellent desired-user-experience... that's a pretty obvious, simple, honest, transparent consideration. 

    In a general and high-level way the many advantages of the Flex platforms deserve, demand, warrant adequate honest disclosure.  Better, knowledge of if the platform is at the whim of stability or instability of ATI, Intel or nVidia GPU issues.   In my experience at some points the whole of nVidia 'drivers' in some cases have caused more blue screens than anything else - from Office to ProE to NX, Creo, etc.  

    All we need to have is an open, honest, qualified discussion and argument to go back to the GPU vendors to help them help us move on.

    Simple, 'obvious' problem identification, hand-off to suspect parties, and maybe, just maybe, everyone gets along and everyone fixes stuff.

    This is "debug mode", not 0.5 level helpdesk re-format, re-install OS **** BS.

  • Bob G   W1GLV
    Bob G W1GLV Member ✭✭
    edited July 2019
    Take a look at the task manager to see which app is using all of that CPU time. I run SSDR on a Windows XP and the CPU on that machine runs a respectable 15-20% of resources. 
  • Lawrence Gray
    Lawrence Gray Member ✭✭
    edited July 2019
    Physical memory use on my Windows 7, i5, 8GB ram SSDR PC is 3GB, or less with SSDR. DAX, CAT, WSJT-X, JT-Alert, and AC-Log running.   Memory is not a particular issue.  As I write this post, I  have Chrome, SSDR, DAX, CAT, AC-Log, WSJT-X (FT-4), and JT-Alert running, as well as Process Explorer and its system information window.  Total physical memory use is 2.7 GB.   SSDR is using 266 KB of memory, which will slowly increase over time.

    SSDR is definitely being offloaded to the GPU.   With the software running as above, when I "pop out" the SSDR pan-adapter and minimize it, GPU usage drops from 15-16% to 0.16%.  The frame rate is set at 10.   It is fairly clear that SSDR offloads the pan-adapter to the GPU.

    CPU utilization with the software running as above ranges from 9 to 14%, which is basically idling.  I think some of the variance is when WSJT-X does decodes.

    The PC is idling along, decoding FT4, transmitting, logging contacts, etc.  It works for hours before the issue appears.   When the issue appears, SSDR CPU usage goes to 40-60%.   I have looked at Process Explorer, but have yet to see a possible cause.    It is important to understand that there is no new software opened or any changes made--this happens during steady state operation.

    Yes, SSDR does have a memory leak. I did a long term test awhile ago and posted the graphs here.  However, it takes a long time for the memory leak to cause any issues.   Yes, .NET is terrible software with numerous issues.   While a PC with more resources may appear to correct the issue, it is actually just masking an underlying software/firmware issue.

    It is clear to me that the PC I have in current use works just fine.  As shown above, it has more than enough resources to run all of the software I use.  It is basically idling.  When the software/firmware suddenly increases resource use well beyond the level required for normal operation, the PC is, of course, not happy.  The PC doesn't have 500% spare resources and I really don't think that is the answer to this issue.   Adding more resources simply masks the issue of poor software/firmware.   

    Unfortunately, the issue is probably at least partially a Microsoft issue, making it hard to find/fix/work-around.  Been there, done that and it is tedious.

    As I posted earlier, it isn't bothering me that much.  I just restart and I'm back in business.  I'd like to see it fixed, along with the memory leak, but I won't be holding my breath or getting too excited about it.

    Larry, W1IZZ



  • Ralph
    Ralph Member ✭✭
    edited February 2020
    Hello Folks,

    I have been struggling with this for many months, and find it interesting if disheartening to see so many others with the same experience.  I have tried most of the suggestions mentioned here and was getting ready to install Win 10. 


    But now I think no amount of polishing my PC will make this T_ _d shine. The "Wack a Mole" comment really says it all. 
    Now I have Icom 7300 Offline backup that can't crash the PC


    When you good people figure it out, please let me know.

    Thank you es 73
    Ralph WA2OGN


    After Net today with No Flex SDR

    IMG_20190723_090158355jpg

    During Net with no Freeze today

    IMG_20190723_084313771jpg
    IMG_20190723_084235416jpg

    Yesterday with a Freeze

    IMG_20190722_224711720jpg
    IMG_20190722_224514713jpg
    IMG_20190722_224507992jpg

    Now I have Icom 7300 Offline backup that can't crash the PC

    IMG_20190722_194727394jpg
  • David-N5PSM
    David-N5PSM Member ✭✭
    edited July 2019
    I can not access the JPG's
  • Ralph
    Ralph Member ✭✭
    edited February 2020

    Ok, give me your email address or explain is very small words how to attach them to the Forum,


    Tnx Ralph


  • David-N5PSM
    David-N5PSM Member ✭✭
    edited July 2019
    N5PSM@ARRL.NET  <---Standard issue ;-)

    Also while editing, at the bottom there is an icon of a camera,  You can go back to your post and upload them if you like.
  • Ralph
    Ralph Member ✭✭
    edited July 2019
    Hi David,

    Please remove all my post, as I may well have been pre-mature.

    I am currently running a 4 Panfall test, but have Lighting in the area so no Antennas.

    Public apology on this Forum and explanation to follow if I have no Freeze today.

    Thank you Ralph WA2OGN



  • Ralph
    Ralph Member ✭✭
    edited July 2019

    Well Folks the over night 4 Pan-fall / Slice test results are in, I even ran Youtube Videos to keep the PC awake, and Operated the Net today.


    No sooner had I pressed the POST button, filled my self righteous Frustration and Pique. That I found myself double checking my own veracity and Lo I found my indolence re-guarding due diligence of my display settings had permitted Default values to creep back in to all of my saved profiles. Most of the time these are quite suitable, but in my situation put me at the hairy edge of my Maximum.

    I reset for the test at; Avg - 50, FPS -10, Fill – 100, W/Avg – Off, Gain – 30, Black – Auto, and Rate – 50.

    My Flex 6600M v3.027.131 proved to be Rock Solid Again, and the following is in Order.

    “I Apologize Unreservedly, any imputation is without merit and in no way represents fair comment. I am sorry for any undue concern I have caused anyone and hereby under take to never do so again.

    I am especially sorry for wasting everyone's time with something so mundane, when this most valuable resource is trying so hard help others with real problems.

    I am reminded yet again that I must never attribute to malice that which is easily explained by stupidity, usually my own. This old man revels in the marvels these Radios wreak, from my 1st used Flex 3000. Even though much of their capability is beyond my mettle. Another Life lesson of my own hubris”

    Thank you,

    Ralph Harvey, WA2OGN


  • Gerald
    Gerald Member ✭✭
    edited November 2019
    What does your virus and spyware programs record
  • Bill W2PKY
    Bill W2PKY Member ✭✭
    edited December 2019
    Would be nice if Flex would add a tab to the setup applet for these display options, giving the operator the choice of the default setting for these variables. 
  • Tony
    Tony Member
    edited June 2020
    Identical issues i have been facing. Going through this thread I changed the setting of graphics adapter from 32 bit to 16 bit yesterday. What i found now the CPU engagement is around 65 % earlier it used to shoot up almost 100% at times and used to be 85 to 100%
  • David Decoons, wo2x
    David Decoons, wo2x Member, Super Elmer Moderator
    edited June 2020
    What are your computer and OS specs? Have you checked Task Manager for CPU and memory issues? It could also be high DPC latency issues. Dave wo2x

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.