[57:35][@BrainCruser][Will you start new threads for every queue that you make?]
[59:29][@niegrfiegr0][Still don't understand the use of volatile and memory barrier]
[59:53][Blackboard: Memory and Code Fences]
[1:07:46][@kelimion][Can Entry.IsValid be removed and replaced with a test to see if Entry.Data != NULL?]
[1:08:04][@kil4h][What is your take on Naughty Dog's approach using fibers (+ manual management) and thread affinity to core instead of using classic worker / job approach for multithreaded gameplay?]
[1:08:23][@robrobby][The work queue will take any function to do it multithreaded? Does the function need to be special so that this will work?]
[1:08:53][@waterlimon][Please write a lock free queue, even though I don't know what those are and if you used one]
[1:09:33][@boogie0815][How many CPU cycles does spawning a thread cost? Or better: what's the minimum amount of cycles to work in 2 threads to gain speed?]
[1:10:45][@gasto5][I don't understand why you call it a queue if it is done potentially simultaneously]
[1:11:46][@flyingwafflenyc][Wasn't there already a bit of thread-related code in the win32 file?]
[1:12:04][@waterlimon][Will you add a cool graph over time that shows what task (e.g. from which subsystem) each thread is working on at each moment?]
[1:14:19][@zuurr_][Is false sharing between the entries in the work queue potentially problematic (from a performance standpoint)?]
[1:14:34][@popcorn0x90][Does volatile clear the assembly registers by pushing them into the stack and then restore by popping?]
[1:14:56][@grubuck][Why would you want a compiler fence and not a process fence, and vice versa?]
[1:15:41][@Pseudonym73][Shouldn't _mm_fence() imply a compiler fence? Surely there's no point otherwise...]
[1:16:44][@thordura][Have you implemented friction?]
[1:16:54][@jameswidman][So, thread management is a bit like memory management (in that you want to set it up ahead of time rather than allocating them on-demand)]
[1:17:57][@robrobby][The code to ask how many threads will be done simultaneously by the processor is to be added?]
[1:18:35][@alephant][Is it possible that a work queue entry spawn another work queue entry?]
[1:19:26][@zuurr_][(Not an expert at all, which was part of why I asked the question) False sharing causes the processor to skip the cache when different threads access stuff on the same cache line]
[1:21:41][@Pseudonym73][Actually, I can think of one use case for a compiler fence without a memory fence: writing to CPU special registers like control registers or MSRs]
[1:22:34][@kemosabe76][Getting back into C/C++ coding after many years. Don't know why you are mixing C-style structs and C++ structs?]