High CPU on client PC whenever a certain client is running

I’ve recently made a new project, and when I launch a client (either published or staging), it takes up about 50% of the CPU on the client computer, just when sitting idle. I tried some of our other larger projects to make sure it wasn’t the computer, and they only use around 10% when idle.

I opened up diagnostics, and the Performance tab looks the same as the other projects (4 tag scans, 1 select query, 0 update queries, 0 tag value changes, and 1 row returned per second).

Is there a good way to determine what is causing the excessive CPU use, through the Logging Levels tab or some other method? Let me know if you need more information, and thank you for your time.

I made all the windows “Closeable” and then once the client launched, I closed all the windows one by one. At the end, the client (Java™ Web Launcher) is still taking 50% of my CPU. It actually takes more if nothing else is running, keeping total CPU pegged at 99%-100%.

I’ve narrowed it down a bit. Coworker suggested I have it start up with no windows instead of closing them after startup. I did that and it was fine. I then tried every window individually and have narrowed it down to two that are having this issue. Still unsure of why, but I’m looking into it.

The times I’ve seen this sort of thing I found some propertyChange scripts that would ping-pong back and forth once started… one would react to a change, set another property, which would fire its propertyChange, which would set the first one again, …
You get the idea. And the pending events keep “window close” from actually cleaning up. This also happens if a propertyChange event has a section that doesn’t verify the property name before acting.

This is exactly what it was. I’ve resolved the issue on one window with this method:
[ul]1. Look in the Project Browser to see which components have scripting on them.
2. Look at the script for each item and make a mental note of properties it changes.
3. Make the mental connections as to which scripts are self-referential or creating a loop.[/ul]

Thank you for your response, it was spot on.

For future reference for anyone searching the archives, I would point out that this is technically possible with a loop of bindings, too. Or even a composite loop of bindings, property change events, and internal component side effects. ( Setting a property on a complex component can cause other properties to change, triggering more events. )