ThinkorSwim App System Lag

I run a lot of scripts also and it works fine for me. I would still consider it clunky. What did you get for a computer!? If you don't mind me asking. I build mine because I was having slow down issues also on the previous rig.
 
Usually, when ThinkorSwim starts acting slow, the platform will actually give you a popup and suggest a new setting for you to use. Have you seen such popup yet? If not, you can manually adjust the RAM settings from the login screen (click on the gear icon).

 
running a brand new Falcon with ample RAM and 3 graphic cards. The RAM settings are set 12MB - 24MB. The rig only runs ToS no other apps .. its probably not the system but the charts.
One thing I noticed that charts got slow after I started running Renko charts .. not sure if anyone else experienced any slowness
 
I would change your ram settings in TOS to 64 - 1536. Also, TOS is not a multi-thread piece of software so it only uses one core of your CPU. However, you can have multiple instances of TOS open on the same computer. Hope this helps.
 
I don’t think TOS is slow at all but you need to have the right RAM settings.
 
To look at your ram usage in TOS, on the main page, right click on the Help button on the top. This will open a window that shows your memory usage. It will show Total Memory, Used Memory and Free Memory across the top. You can click on Collect Garbage on the top right side and this will free up all available memory. In order for TOS to run efficiently, you should show at least 2,500,00K of total memory. If it does not, then adjust the memory settings on the startup screen as indicated in the post above. I am certain this will solve your problem.
 
Also, take a look at the beta site. trade.tdameritrade dot com. Just remember it's in BETA and prone to issues.
Have you deleted your GUI file from inside the Thinkorswim file? Be sure your backed up first.
 
I think TOS does a LOT of disk access. I got rid of my hard drive and and now with a cheap solid state drive everything happens almost instantaneously.

For example, a Grid with 20 charts loads in 3-4 seconds. And this just an i3 machine with 8 gig of RAM.

I like starting with an empty drive. But I know there are utilities that will copy the entire contents of your old drive to the new drive. Sounds pretty simple, though I've never done it.
 
I'm on a Mac mini. It does lag when the grids/charts are filled. Anyone knows if getting an external gfx card will help with the lag?
 
running a brand new Falcon with ample RAM and 3 graphic cards. The RAM settings are set 12MB - 24MB. The rig only runs ToS no other apps .. its probably not the system but the charts.
One thing I noticed that charts got slow after I started running Renko charts .. not sure if anyone else experienced any slowness
12-24MB of RAM is extremely small (This is coming from an nvida/intel/AMD engineer, I wont say which one for privacy reasons lol ). If you are really interested in automating, then you should use a 3.6GHz processor with at least 2133Mb RAM.
 
Howdy and good evening,

Is there a maximum number of chart labels that you can place on a chart that would cause a system degradation on the ToS desktop platform? Is there a common practice of not to exceed a certain number of chart lables being placed?
 
@DoQtorNo There is no maximum number of labels you can have but you'll feel the slowness when you get there.
 
No problems with 8 charts (3 experimenting with some cool indicators from usethinkscript) gaming ASUS laptop, 10th gen i7, 16GB ram 1000GB SSD, 43 inch external monitor. Fast as heck, actually. I only trade one thing, NQ, so I try to keep it simple. 15 min LT chart for trend, 5 min chart for setup, 1 minute chart for trigger. I have found that the more complicated the system gets, the more to look at and the harder it is to watch what is important. I have to keep it simple 'cause I'm getting old (65), LOL. I'm supposed to be retired, but still trade 10 hours a day......
 
These settings seem to have improved my watchlist functionality. I found this on the reddit thinkorswim forum:
  • If you have 4GB of RAM, set the min/max to 512/1536
  • If you have 8GB of RAM, set the min/max to 1024/3072
  • If you have 16-32GB of RAM, set the min/max to 4096/6144
 
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.

https://www.elitetrader.com/et/thre...art-loading-time-or-any-java-platform.214227/

Just DON'T DO THIS PART
-Dsun.java2d.opengl=true
-Dsun.java2d.d3d=false
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.

Code:
-Xmx6144m
-Xms4096m
-Dawt.useSystemAAFontSettings=lcd_hrgb
-Djava.net.preferIPv4Stack=true
-Djava.util.Arrays.useLegacyMergeSort=true
-Dsun.awt.disableMixing=true
-Dsun.java2d.noddraw=true
-Dsun.java2d.xrender=false
-Dsun.net.http.allowRestrictedHeaders=true
-classpath/p launcher-second.jar
-XX:MaxPermSize=256m
-Djxbrowser.logging.level=INFO

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.
 
I forgot one other performance tweak and this one actually can have a noticeable impact depending on your hardware and how you set this. If your strategies can tolerate slower price updates you can throttle the quote speed. In Application Settings -> System you can choose from real time, 1 sec delay, 3 secs, 10 secs or 15 secs. Changing it from real time to 1 second delay quieted down my fans a bit. I tested the longer settings hoping TOS developers were smart enough to force an update at the candle close for whatever timeframes are on screen but no such luck.
 
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.

https://www.elitetrader.com/et/thre...art-loading-time-or-any-java-platform.214227/

Just DON'T DO THIS PART
-Dsun.java2d.opengl=true
-Dsun.java2d.d3d=false
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.

Code:
-Xmx6144m
-Xms4096m
-Dawt.useSystemAAFontSettings=lcd_hrgb
-Djava.net.preferIPv4Stack=true
-Djava.util.Arrays.useLegacyMergeSort=true
-Dsun.awt.disableMixing=true
-Dsun.java2d.noddraw=true
-Dsun.java2d.xrender=false
-Dsun.net.http.allowRestrictedHeaders=true
-classpath/p launcher-second.jar
-XX:MaxPermSize=256m
-Djxbrowser.logging.level=INFO

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.


Im confused, I just watched this video
and below is one of the tweaks suggested to help system run better that is diff from above

" -Xmx2048m
-Xms1024m
-XX:MaxPermSize=256m
-Dawt.useSystemAAFontSettings=false
-Djava.util.Arrays.useLegacyMergeSort=true
-Classpath/p launcher-first.jar
-Djava.net.preferIPv4stack=true
-Dsun.java2d.xrender=True
-XX:-UseConcMarkSweepGC
-Dsun.java2d.noddraw=true
-Dsun.awt.disableMixing=true "

Also I had TOS tech give me this line for VMoptions file about a week ago bc my TOS crashes a lot
" -Dsun.java2d.opengl=false "

Which one do you use???? And can you also use the code tech gave me???
 

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
512 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