Hi,
Quote
Is TG hyperthreading when it renders 2 buckets on one core?
No. HyperThreading is the name for a technique used on Intel processors. Simply put, not all parts of a single processor/core ( I'll call it a processor for simplicity ) are fully utilised during computation. There are often points where a particular queue of instructions in the processor has "bubbles" in it where there are no actual instructions, for various reasons. On a HyperThreading CPU these bubbles in the instruction queues are filled up with instructions from another thread or process, which means the calculations for that thread or process can be completed a little bit quicker than they usually would. However because that thread or process only gets to do calculations in the bubbles the performance increase it gets is not often that high. When I was first looking at this the maximum performance increase was 20%, with the typical increase being something like 5 or 6%. It may have got better since then, but it's never going to be the same as having two actual processors.
Processes and threads are software things, not hardware things. A process is basically an application. A thread is something that a process creates to allow more than operation to happen at the same time. TG2 ( tgd.exe ) is a process, it creates threads to do stuff like rendering or checking for updates when you start the application. Processes are more "heavyweight" than threads, they are usually more complex and use more system resources to operate. Threads are usually more lightweight, they don't require all the overhead of a process.
A process can run as many threads as it likes, up to the point the OS allows. For example TG2 could run 1000 threads at once, even on a single processor machine. The OS is responsible for making sure all the threads get a chance to use the processor as appropriate. In fact right now there are far more things running on your machine than there are processors or cores, just look in Task Manager. The OS makes sure all those things get a fair go at the processor.
TG2 only creates one thread for rendering per processor. That ensures the maximum utilisation of all of your processor with the minimum overhead. When you're doing as many calculations as TG2 does when rendering you'll only be slower if you add more threads than there are processors. When you change the affinity for TG2 so it only runs on one core it still starts two threads for rendering because it detects your machine has two cores, even if you're only letting the application use one ( I'm not 100% sure that's what is happening, I'll have to go and look into it ).
So does changing the affinity really help your movies play more smoothly or whatever?
Regards,
Jo