ThinkorSwim App System Lag

Good Afternoon Traders! I've read a lot of posts around the web about how to speed up TOS but still looking for some answers.

Four main questions:
1) Does referencing built-in TOS studies in User Defined studies slow things down? (I reference SequenceCounter in one of my studies)
referencing several complex studies whether built-in or custom could potentially slow down charting.
Sequence Counter on its own, will not.

2) Does the AddCloud function slow things down? (I have a study that plots several different clouds simultaneously)
AddCloud is not a complex function, in of itself should not slow charting down

3) I have a study that is about 1500 lines long. It has references to TOS built-ins, uses several instances of ATR, EMA, Fibs, etc. It seems to really bog down TOS. Does anyone know if I separated out some of the sections into individual studies and then stacked them on a chart if that would improve performance?
The number of lines of code has no correlation to whether a script is complex.
Four lines of code with complex functions could be too complex.
2000 lines of simple plotting might be fine.

(I've heard TOS is a single-core/thread application so I'm guessing this won't help because there's still only one core doing the same amount of work...)
You are correct.

4) Does anyone know how to reference a TOS built-in study but also have that reference address a higher time-frame? In other words, if I wanted to see SequenceCounter values from a 15Min time frame but have them plotted on a 5Min chart is that possible?
Sequence Counter is a proprietary code. No modifications can be made to it.

Some traders run multiple instances of TOS on their systems - that's not going to help me if I want mostly everything on a single chart.
However, I have been running multiple instances lately and have allocated a minimum of 24GB of RAM to each instance. Can't quite tell if that's helping.
Here is a thread for the discussion of ram:
https://usethinkscript.com/threads/ideal-memory-usage-settings-for-thinkorswim.10201/#post-128355

Here are more threads related to your discussion:
https://usethinkscript.com/threads/maximum-amount-of-lines-in-a-script.8258/
https://usethinkscript.com/threads/thinkorswim-app-system-lag.1173/
 
Last edited:
I have been experiencing significant lag in Thinkorswim lately...Anyone else encountering the same issue?

I came across the following advice posted in Reddit and it has helped:

202503180619_lag_advice_.jpg


Hope this helps...

Good Luck and Good Trading :cool:
 
I have been experiencing significant lag in Thinkorswim lately...Anyone else encountering the same issue?

I came across the following advice posted in Reddit and it has helped:

View attachment 24317

Hope this helps...

Good Luck and Good Trading :cool:

I do most all of these daily and perform the Collect Garbage multiple times throughout the day...
 
There are several posts on this subject by MOBIUS, without a double the master of all things thinkorswim, and he states that users should set the memory allocations to the MINIMUM, yes, the minimum. He uses like 56/1420 or something very small. His Logic can be found in the reddit thinkorswim sub. I keep mine small on three different laptops, no lag, no clearing garbage, Lightning fast with many charts and custom indicator running. Hope this help.
 
Last edited:
I have been experiencing significant lag in Thinkorswim lately...Anyone else encountering the same issue?

I came across the following advice posted in Reddit and it has helped:

View attachment 24317

Hope this helps...

Good Luck and Good Trading :cool:

“delete the /usergui file” Hmmm. I'm intrigued but concerned. What is being deleted in the /usergui and how does that speed things up? I wonder if that applies to both Macs and Windows machines.
 
“delete the /usergui file” Hmmm. I'm intrigued but concerned. What is being deleted in the /usergui and how does that speed things up? I wonder if that applies to both Macs and Windows machines.

Deleting the usergui clears out temporary files which are no longer needed and forces the application to return to some system defaults... We should be less concerned about what exactly is taking place and just be happy with improved performance... Deleting usergui is one of the first goto's whenever you are having any performance issues within Thinkorswim... Several years back doing so was part of my daily restart procedure, before one of the past major releases fixed a few ongoing performance issues... Just delete it and don't even think twice about it...
 
Hello,

Can someone post the directions to clearing the temporary files and other system cleanup? I cant find the link.

Thanks,
jrj4774
 
Hi,

I just located the folder, can someone confirm for me that I need to delete the folders below -

1988.1.8
1989.0.42
1989.1.9

thanks,
jrj4774

1767111584169.png
 
Hi,

I just located the folder, can someone confirm for me that I need to delete the folders below -

1988.1.8
1989.0.42
1989.1.9

thanks,
jrj4774

View attachment 26665

You only need the newest folder... Or you can delete the entire usergui directory while TOS is closed and then reopen TOS and it will rebuild the usergui directory with only the newest data... It is s good idea to delete usergui on occasion to help improve performance...
 
@rad14733 Thank you for the confirmation. I just execute the delete after I closed the TOS. Should this be execute daily or once a week?

thanks,
jrj4774
 
@rad14733 Thank you for the confirmation. I just execute the delete after I closed the TOS. Should this be execute daily or once a week?

thanks,
jrj4774

I use a batch file on my Windows Desktop, just my choice, and usually execute it to delete the usergui directory every couple of weeks, or whenever there is a performance issue...
 
I reinstall my multiple instances of ThinkorSwim (ToS) a few times a year. I'm an unusual case—
I like experimenting; taking ToS where no man has gone before.
Therefore, I reinstall to get rid of any corruptions that I may have inadvertently introduced.

I trade premarket and opening range setups. I can't risk installs at 5am, so periodic reinstalls are my version of a preventative maintenance routine.

Good news, most settings save on Schwab's servers, so new installs are painless.
For quick recovery:
Save a workspace link per ToS instance.​
Backup the VMoptions file (if customized).***​
To reinstall: Download fresh ToS copies; copy over VMoptions, load workspace link—done.

***There is NO standard customizations to VMoptions. If you are not a JAVA expert; give ToS support access to your rig, and they will direct you to any customizations required for your situation.
My changes are necessary because ToS doesn't natively optimize for a workstation-class multi-GPU rig.
Most members will not require this type of customization.
 
Last edited:
ToS slower to respond

No, ToS didn’t “change” because Schwab took over. If your platform has slowed down, something in your setup likely changed — and that will always be true over time. As your hard drive fills, as you accumulate custom studies, or as your system gets cluttered, ToS performance will degrade. Regular maintenance matters: https://usethinkscript.com/threads/too-many-custom-studies-slows-down-thinkorswim.18577/

ToS is a single‑threaded Java application, intentionally designed that way to prioritize order‑flow processing. Rendering takes a backseat by design. The good news is that if your system meets the minimum requirements — 16GB RAM, enough SSD space for swapping, stable internet, and you’re not overseas — the issues are fixable.

But your approach needs to be systematic. Memory‑allocation testing is essential, and the correct settings depend entirely on your hardware. No one can test this for you.
Here are some ideas to begin your testing: https://usethinkscript.com/threads/ideal-memory-usage-settings-for-thinkorswim.10201/#post-128355

If you’re running complex scripts, many charts, multiple watchlists, or scans updating every tick, that can absolutely cause slowdowns. Test your setup by running a clean instance: no watchlists, no scans, no custom studies. If it still lags, the issue is your memory allocation, hardware, internet provider, or overloaded custom‑study library.

If the clean setup runs fine, add your studies, charts, watchlists, and scans back one at a time until you see degradation. If a single complex script is the culprit, you’ll need to decide whether you can live without it.

If the real problem is that you’re simply trying to render too much on a single thread, there is a solution: run multiple ToS instances.
https://usethinkscript.com/threads/...ple-windows-computers.4120/page-2#post-142871
 
Last edited by a moderator:
ToS Laggy? Often the problem has nothing to do with ToS itself.
These have nothing to do with ThinkOrSwim.​
This is about good computer management; no matter what advanced application you are attempting to run.​
Which means if you decide to throw the ToS baby out with the bathwater and switch to another brokerage app; you will still see the same problems.​

Running Anything Else at the Same Time
ToS (and most financial apps) is single‑threaded. It hates competition.
▸ Opening ToS first, on a clean boot; gives it the best memory allocation and JVM footprint.​
▸ Running browsers, Discord, Slack, Zoom, or anything Chromium‑based can starve ToS of CPU time.​
▸ Even “idle” apps can steal cycles because Windows constantly schedules them.​
Best practice: Boot → open ToS → then open anything else (or ideally nothing else).

Chrome / Edge / Brave / Opera = Silent Resource Vampires
A single Google Chrome window can spawn:
▸ 20–60 subprocesses​
▸ Each with its own memory footprint​
▸ Each competing for CPU scheduling​
▸ Each triggering garbage collection events​
This absolutely can freeze or stutter ToS.

Why? Chrome uses a multi‑process architecture. ToS uses a single thread. Chrome wins every scheduling fight unless you intervene.
Best practice:
▸ Keep Chrome tabs to a minimum.​
▸ Use Firefox for browsing while trading — it spawns far fewer processes.​
▸ Or run ToS on a dedicated Windows user profile.​
Windows Background Tasks You Don’t See
These can interrupt ToS without you realizing:
▸ Windows Update modules​
▸ Indexing service​
▸ Antivirus real‑time scanning​
▸ OneDrive syncing​
▸ Dropbox syncing​
▸ GPU driver telemetry​
▸ Nvidia/AMD background services​
▸ Printer spoolers​
▸ Windows Search indexing​
Best practice: Disable or pause anything that syncs, scans, or indexes during market hours.

Java Heap Misconfiguration (VMOptions)
If these are too low → ToS stutters. If these are too high → Windows starves other processes → ToS stutters.
This is why memory‑allocation testing is mandatory. Everyone’s hardware behaves differently.

SSD Fragmentation / Low Free Space
ToS constantly writes logs, caches, and swap files.
If your SSD is:
▸ Nearly full​
▸ Fragmented​
▸ Using slow NAND​
▸ Lacking over‑provisioning​
…ToS will slow down dramatically.
Best practice: Keep 20–25% free space on your SSD at all times.

Too Many Custom Studies
Even if they’re not on your chart.
ToS loads EVERYTHING in your libraries!
▸ Every custom study​
▸ Every scan​
▸ Every watchlist column​
▸ Every strategy​
▸ Every label script​
…into memory at launch.
This is why “custom library bloat” is a real performance killer.

Too Many Charts / Too Many Tick‑Updating Elements
Every chart panel is another rendering load on the single thread.
Every watchlist column that updates every tick is another script execution.
Every scan running every tick is another CPU hit.
Best practice:
▸ Reduce chart count​
▸ Reduce watchlist columns​
▸ Reduce scan frequency​
▸ Remove anything that updates every tick unless you need it​
OR run multiple applications of ToS; each gets its own rendering thread

Network Latency / Packet Loss
ToS is extremely sensitive to:
▸ WiFi interference​
▸ Bufferbloat​
▸ ISP congestion​
▸ VPNs​
▸ Overseas routing​
Even if your internet “seems fine,” ToS can choke on micro‑latency spikes.
Best practice: Use wired Ethernet during market hours.
Overseas: be prepared for routing issues

Windows Power Settings
If your system is in:
▸ Balanced mode​
▸ Power saver mode​
▸ Laptop battery mode​
…your CPU will throttle, and ToS will lag.
Best practice: Set Windows to High Performance or Ultimate Performance.

CPU Priority (Task Manager)
You can give ToS higher scheduling priority inside Windows.
This helps because ToS is single‑threaded and competes with Chrome, Discord, and background services.
Best practice:
▸ Task Manager → Details → right‑click thinkorswim.exe → Set Priority → Above Normal or High
▸ Never use Realtime — it can freeze your system.

GPU Driver Conflicts
ToS uses Java Swing, which interacts with GPU drivers in weird ways.
Outdated or buggy GPU drivers can cause:
▸ UI freezing​
▸ Chart flickering​
▸ Slow rendering​
▸ JVM crashes​

GPU Scheduling Priority (Graphics Settings)
Even though ToS is CPU‑rendered, Windows still uses GPU compositing for the UI.
You can assign ToS to the High Performance GPU in Windows Graphics Settings.
This helps reduce UI lag on:
▸ 4K monitors
▸ multi‑monitor setups
▸ laptops with integrated graphics

Running ToS on a Laptop with Integrated Graphics
Integrated GPUs share memory with the CPU.
This can starve ToS of RAM bandwidth.

Running ToS on a System with:
Too Many Startup Programs
If your Windows startup list is bloated, ToS never gets a clean environment.​
Too Many Background Chrome Extensions
Extensions run scripts constantly.​
They consume CPU cycles even when Chrome is minimized.​
Too Many Windows Notifications
Every notification steals CPU time.​
Too Many Windows Explorer Windows Open
Explorer windows each spawn their own process and indexing hooks.​
Too Many Virtual Desktops
Windows allocates resources per desktop.​

Google or ask your favorite AI bot how to optimize any of the above bolded steps for ThinkOrSwim to get a step-by-step guide to running fast and efficient ToS app(s)
 
Last edited:
As a follow up to the above post by @merryDay - the Ultimate Performance setting is hidden by default in Windows 10/11... It can be enabled by opening either a command prompt or powershell and executing the command powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61... After enabled it will be possible to select this Power Scheme...
 

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
890 Online
Create Post

Similar threads

Similar threads

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top