For CPU and video card selection for use with NinjaTrader, it is important to understand how NinjaTrader works.
NinjaTrader_Jim says: "NinjaTrader has multiple threads for different tasks. To keep things simple, there are UI threads, there are Instrument threads, and there are thread pools. Rendering and GUI work happens on UI threads. Processing data happens on Instrument threads or in thread pools for historical processing. Instrument processing must be synchronous for NinjaScripts to function properly. This means that resource intensive scripts, like volume profiles, cannot distribute their work among multiple threads. In the application, all of these threads have jobs and some of them need to wait on one another. You very rarely will see 100% utilization on an individual thread when rendering lag symptoms arise."
NinjaTrader_ChelseaB adds: "The higher the single threaded performance, the better any CPU core will be able handle a larger load. More CPU cores can help offset other work for other threads, so having more cores can help, up to the limit of the single threaded performance for any one thread on any one core."
So, get a CPU with a number of physical cores equal to or greater than the number of instruments in the workspace, and with the highest single-core GHz clock speed you can get. Get at least 32 GB system memory, and a graphics card with high computational performance (see here).
So if you are running NinjaTrader 8 with, say, around 16 tracked symbols, and workspaces with complex scripts or many scripts and drawings or multiple workspaces, or may do any of that in the future, no question about it, upgrade to AMD Ryzen 9 7950X. It's 16 core, 32 thread, at 4.5 - 5.7 GHz, and AMD Socket AM5. Compare it to your existing or other CPU options at CPUBenchmark. Right now it's the best combination of multi-core and single-thread performance for NinjaTrader, and at a great price. To upgrade all components will be over $1,000, but that should be the least consideration for an essential work tool.
NinjaTrader_Jim says: "NinjaTrader has multiple threads for different tasks. To keep things simple, there are UI threads, there are Instrument threads, and there are thread pools. Rendering and GUI work happens on UI threads. Processing data happens on Instrument threads or in thread pools for historical processing. Instrument processing must be synchronous for NinjaScripts to function properly. This means that resource intensive scripts, like volume profiles, cannot distribute their work among multiple threads. In the application, all of these threads have jobs and some of them need to wait on one another. You very rarely will see 100% utilization on an individual thread when rendering lag symptoms arise."
NinjaTrader_ChelseaB adds: "The higher the single threaded performance, the better any CPU core will be able handle a larger load. More CPU cores can help offset other work for other threads, so having more cores can help, up to the limit of the single threaded performance for any one thread on any one core."
So, get a CPU with a number of physical cores equal to or greater than the number of instruments in the workspace, and with the highest single-core GHz clock speed you can get. Get at least 32 GB system memory, and a graphics card with high computational performance (see here).
So if you are running NinjaTrader 8 with, say, around 16 tracked symbols, and workspaces with complex scripts or many scripts and drawings or multiple workspaces, or may do any of that in the future, no question about it, upgrade to AMD Ryzen 9 7950X. It's 16 core, 32 thread, at 4.5 - 5.7 GHz, and AMD Socket AM5. Compare it to your existing or other CPU options at CPUBenchmark. Right now it's the best combination of multi-core and single-thread performance for NinjaTrader, and at a great price. To upgrade all components will be over $1,000, but that should be the least consideration for an essential work tool.