Ik ben bezig met een audio-programma dat moet gaan draaien op een i7 4770K processor met DDR3 1600 geheugen. Ik loop tegen een probleem aan met een mij nog onbekende, over de CPU cores gedeelde resource die de performance van andere cores beinvloed als ik op 1 core iets zwaars ga draaien.
Situatie:
DPC timings lijken goed (tot zo'n 130 us, geen uitschieters te zien op het moment dat de audio hakkelt).
Ik kan nu een hoop dingen gaan testen (ik wil o.a. gaan kijken wat er gebeurt als ik op core 6/7 iets draai wat grote blokken geheugen kopieert om te kijken of de memory bandwidth het probleem is), maar mocht iemand hier dit probleem kennen en weten of vermoeden wat de oorzaak kan zijn dan zou dat mij flink kunnen helpen.
De GPU zit overigens in de processor, dat kon wel eens relevant zijn...
Situatie:
- OS: Windows 7, 32 bit
- Cores 0+1: Leeg
- Cores 2+3: Audioprocessing (HyperThreading gebruikmakend van gedeelde memory cache)
- Cores 4+5: Audioprocessing (HyperThreading gebruikmakend van gedeelde memory cache)
- Cores 6+7: Chrome voor de GUI, webserver (onderdeel van mijn eigen proces), WDM (Windows Device Manager).
- Chrome met een leeg scherm: Ik kan mijn processing draaien met een extra latency van iets boven de 1 ms bovenop wat ik nodig heb voor processing (3.4 ms). Totale latency 5 ms.
- Chrome waarin ik via JavaScript in canvassen teken (1920x1080 scherm volledig gevuld met 60 fps, CPU load op core 7 tegen de 100%): Als de CPU load op cores 2,3,4,5 laag is werkt alles prima, als die hoger wordt (rond de 50%) moet ik mijn extra latency verhogen naar 3 ms.
- Animaties in Chrome via GPU, of wijzigen van de size van meerdere canvassen: Dit geeft ongeacht de CPU load op cores 2,3,4,5 grote hiccups in de audio. Zelfs 10 ms extra latency helpt weinig.
- Animaties in Chrome zonder GPU: Minder problematisch dan met GPU, maar nog steeds veel meer latency nodig dan tijdens het tekenen waarbij de CPU load al tegen de 100% aan zit.
DPC timings lijken goed (tot zo'n 130 us, geen uitschieters te zien op het moment dat de audio hakkelt).
Ik kan nu een hoop dingen gaan testen (ik wil o.a. gaan kijken wat er gebeurt als ik op core 6/7 iets draai wat grote blokken geheugen kopieert om te kijken of de memory bandwidth het probleem is), maar mocht iemand hier dit probleem kennen en weten of vermoeden wat de oorzaak kan zijn dan zou dat mij flink kunnen helpen.
De GPU zit overigens in de processor, dat kon wel eens relevant zijn...