Forum Discussion

hlalumiere's avatar
hlalumiere
Regular Contributor
13 years ago

TC9 randomly starts using an abnormal amount of CPU cycles after idling.

Scenario: I work all day on TC9 on a remote VM through Remote Desktop without too many issues apart from the occasional crash, at 5PM I log off my station but leave the remote desktop session going idle. The next morning the TestComplete.exe process is using 99% CPU just idling doing nothing, with no apparent reason why.



Another thing is the IDE uses an ungodly amount of CPU when I just move the mouse cursor over an editor tab, to the point where selecting text by mouse almost always ends up not selecting properly unless I go really slow. Do you have a loop going inside a MouseHover event or something? Just open up the task manager, set it always on top in the performance tab, and move the mouse cursor over in the TC9 text editor, without clicking or anything.





Hugo Lalumiere

Dynacom Technologies Inc.

8 Replies

  • hlalumiere's avatar
    hlalumiere
    Regular Contributor
    I ran a performance counter on TC9 while simply writing some code in the editor, nothing else. Check the attached graph. In addition to high CPU usage while moving the mouse around, it seems CPU usage  jumps to 100% everytime I hit a key. I suppose this is from the syntax checker verifying on KeyPress events. That should be done in a separate thread and on a timer. There is no point in verifying if the syntax is good before I finished typing an expression. Once every 5 seconds would be plenty for me.
  • hlalumiere's avatar
    hlalumiere
    Regular Contributor
    While most of the performance issues seem to be gone with build 9.10, one remains.



    Every time I type a character in any editor window of TC9, CPU usage goes to 100% for at least 1-2 seconds. Fortunately duration does not "stack", but I find it quite bizarre to analyze the contents of a script file at every single keypress.



    As noted above, if this is the syntax checker, it should be checking once every N seconds, on a timer. Checking every keypress makes for very poor response time while typing code. In some instances, holding Shift gets delayed because of this.



    For example:

    While typing some sentence or code, try inserting a Cap Somewhere in there.



    If I were to type this normally in the TC9 editor, sometimes it would come out as:

    While typing some sentence or code, try inserting a cAP somEWHere in there.



    I am working on a VM with only one vCPU, so maybe that has something to do with it, however putting anything longer than 1-2 lines of code in a keypress event is a big no-no in any case.
  • hlalumiere's avatar
    hlalumiere
    Regular Contributor
    Any input on this? I posted the original comment  almost a full month ago...
  • hlalumiere's avatar
    hlalumiere
    Regular Contributor
    Is Smartbear purposedly avoiding to answer this question? I would like to have the official word on this issue. Seeing as it was posted over a month ago, I think ample time was given to investigate the issue and open a ticket if need be.

  • Hi Hugo,


     


    Let's check whether TestComplete's Code Completion is the cause of such behavior. For this, disable the Tools | Options... | Panels | Code Editor | Editing | Auto Pop-Up option.


     

  • hlalumiere's avatar
    hlalumiere
    Regular Contributor
    I can confirm it is not auto-completion, as I have it permanently disabled, since it does not work half the time and takes forever to show up.



    As I stated above, I am pretty sure this is the IDE checking syntax every keypress.

  • Hi Hugo,


     


    It would be great if you collected some additional information to help our developers investigate this behavior:


    1. Run the Report Generator tool shipped along with TestComplete:


    <TestComplete 9>\Bin\ReportGenerator.exe


     


    2. Select the 'Launch/attach to TestComplete' option, and the tool will be attached to TestComplete's process.


     


    3. Type some code in TestComplete to reproduce the problem.


     


    4. Click the 'Generate...' button in the Report Generator tool and save a report to a local folder.


     


    After following the steps, send our Support Team the report along with a description of the issue via our Contact Support form. Thanks!