My understanding is the performance is limited due to TOS being written in Java and only one thread can update the user interface at a time. TOS is multi-threaded and it will use more than one core, just not for redrawing things on the screen. It's using other threads/cores for requesting/receiving data and processing that data, scans, watchlists, etc. etc.
Having a gazillion core computer with one hundred and eleventy video cards isn't going to help. You'd be better off buying two or three cheaper computers to run charts. The bottleneck is the one thread (one CPU core) that handles drawing the user interface. This is similar to how everything worked before dual core. One CPU did all the work and it "context switched" between threads which were queued for it to process. Similar to when you yourself are multitasking, if your attention gets split too many ways your throughput on those tasks decreases and you start to fall behind. Everything you see moving and flashing on the screen requires redrawing.
As someone stated earlier in this thread, even on a single computer, running multiple instances of TOS does improve performance. Why? Because each instance has its own thread that handles updating the user interface. That's going to get you your biggest performance boost aside from getting stuff off your screen. Conveniently, TOS linking symbols to colors works across multiple instances and across multiple computers. Beware if using multiple computers and connected to VPN, if the computers aren't using the same VPN server TDA's servers will prevent the second one from logging in since it's looks like you're in two difference places.
Here's some info about a ThinkOrSwim config file you can modify and maybe get better performance. If it makes any difference at all it wasn't much on my computers.
Just DON'T DO THIS PART
OpenGL is an obsolete 3D graphics library that modern video cards don't optimize for. That forum post was written in 2011.
Here are the contents of my thinkorswim.vmoptions file. You'll notice the Xmx and Xms are the memory setting you can choose in TOS so yours may be different from mine and you should keep your settings for those if you have 8GB of memory or less.
Everything on the screen that updates (redraws) impacts the performance.
- Get rid of extra Active Trader windows, or at least hide them or clear the symbols from them when not in use.
- If you have extra charts on screen that aren't relevant much of the time, clear the symbols from them. A quick way to clear all the charts is using the menu from the button with 3 lines at top right of chart window. It's quick to load symbols from a watchlist into the charts using the same menu.
- If you switch around between the Trade tab and its sub-tabs and the Charts tab and its sub-tabs TOS will still be updating the stuff that's not on screen in the background. If you're not using some of them while trading clear the symbols from them.
- Collapse watchlists and quick charts, etc. when you're not using them.
- Remove any studies you don't need.
- For the studies you keep, hide chart bubbles and titles on the plots where they don't matter to you. For those who are code savvy, I make copies of the default studies and change the colors, hide bubbles/titles, and make other changes for my preferences so when I add the study to a chart it already looks the way I want it without any effort to change settings.
- If you have multiple charts on screen and performance is laggy when you're placing an order try maximizing the chart you're focused on so TOS doesn't have to draw the others while you're entering your order.
Also, performance is worse during trading hours (or in OnDemand) with high volume stocks. If your strategy can be executed during lunch or outside of market hours then you can mostly avoid the performance issues.