Ich finde das allgemein völlig falsch angegangen. Es mag zwar interessant klingen, verschiedene Aufgaben auf verschiedene Threads zu legen. Aber in der Realität sind die Abhängigkeiten zwischen den Threads ziemlich komplex, was in den meisten Fällen die Parallelisierung mehr oder minder untauglich macht. Und gleichzeitig lohnt sich die Parallelisierung nur, wenn die parallelen Aufgaben ähnliche Arbeitslast haben.
Daher ist das z.B. schonmal Unsinn, den Input zu parallelisieren. Der kostet nur Nanosekunden an Rechenzeit. Paralleler Input kann sich lohnen, wenn die komplette Spiellogik mit einer Kette zeitlich gespreizter Eingabeereignisse klar kommt und das für sie tatsächlich einen Unterschied macht. Die Eingabelatenz senkt man damit aber nicht, und die Auswirkungen auf die Spiellogik dürften so minimal sein, dass man sich das ersparen kann.
Was sich dagegen lohnt zu parallelisieren, ist die grafische Darstellung. Ich habe ja nun schon einige Spiele geschrieben, und bisher war immer die Grafikausgabe mit mindestens 70% die Hauptlast. Da würde ich ansetzen. Die zeitlich vordere Schranke wäre die Spiellogik - solange die den internen Zustand und damit potentiell die grafik-relevanten Parameter (Position, Rotation, Optik) ändert, sollte man nicht losrendern. Die hintere Schranke wäre die GPU, die nunmal (bisher) alle Kommandos nur sequentiell annimmt. Das geht auch nicht anders, da alle 3D-APIs ja zustandsbehaftet sind und damit die Reihenfolge der Änderungen wichtig ist.
Durch DX11 Command Queues oder eine zumeist etwas höher abstrahierte eigene Queue kann man aber mehrere Scene Queries sehr gut parallelisieren und dadurch je nach Verwaltungsaufwand einiges rausholen. Das eigentliche Rendern besteht ja immer aus einem Abklappern der anzuzeigenden Objekte, evtl. Bestimmung der Sichtbarkeit, Zusammenstellung der Zeichenaufträge daraus, evtl. Sortierung der Aufträge, und dann die Ausführung. Die Ausführung muss am Ende sequentiell passieren, aber alles andere kann stressfrei parallel gemacht werden, solange alle Operationen dabei nur lesend auf die Szene zugreifen.
Allgemein würde ich unbedingt nachmessen, wo die Rechenzeit pro Frame denn so hingeht, bevor ich irgendwas parallelisiere.