Hoi,
In het kort: Veroorzaakt een .NET GUI latency-problemen voor een real-time applicatie op dezelfde pc?
Ik heb een audio-applicatie die met zeer weinig vertraging inkomende audio bewerkt en weer naar buiten stuurt (via ASIO, denk aan latencies onder de 10 ms waarvan slechts 3 ms voor de I/O is). Voor gebruikers is dit het enige programma dat draait op de pc, waardoor dit soort latencies haalbaar zijn zonder hiccups. De PC wordt opgestart met deze software en moet dan in principe jaren stabiel draaien.
De huidige GUI is geschreven in C++ en draait in hetzelfde proces. Net als de rest van de code is dit zo geschreven dat het geen hiccups veroorzaakt (geen memory-allocaties na opstarten e.d.).
Ik wil nu een losse GUI laten ontwikkelen (laten omdat ik zelf gewoon niet genoeg tijd heb om alles te kunnen doen), die in een los proces moet gaan draaien, en later ook op een tablet of telefoon gebruikt kan worden. Het bedrijf dat ik hiervoor benaderd heb stelt voor om dit in .NET te doen.
In het verleden heb ik erg slechte ervaringen gehad met .NET software (veel te veel geheugen-allocatie, memory fragmentation, garbage collector die soms de CPU volledig in beslag neemt en zo'n beetje alles stil zet). Wat ik wil weten - voordat ik een hoop geld uitgeef - is of een .NET GUI problemen zal gaan veroorzaken met mijn audio. Zelfs over een verhoging van de latency van 1 of 2 ms gaan mensen al klagen...
In het kort: Veroorzaakt een .NET GUI latency-problemen voor een real-time applicatie op dezelfde pc?
Ik heb een audio-applicatie die met zeer weinig vertraging inkomende audio bewerkt en weer naar buiten stuurt (via ASIO, denk aan latencies onder de 10 ms waarvan slechts 3 ms voor de I/O is). Voor gebruikers is dit het enige programma dat draait op de pc, waardoor dit soort latencies haalbaar zijn zonder hiccups. De PC wordt opgestart met deze software en moet dan in principe jaren stabiel draaien.
De huidige GUI is geschreven in C++ en draait in hetzelfde proces. Net als de rest van de code is dit zo geschreven dat het geen hiccups veroorzaakt (geen memory-allocaties na opstarten e.d.).
Ik wil nu een losse GUI laten ontwikkelen (laten omdat ik zelf gewoon niet genoeg tijd heb om alles te kunnen doen), die in een los proces moet gaan draaien, en later ook op een tablet of telefoon gebruikt kan worden. Het bedrijf dat ik hiervoor benaderd heb stelt voor om dit in .NET te doen.
In het verleden heb ik erg slechte ervaringen gehad met .NET software (veel te veel geheugen-allocatie, memory fragmentation, garbage collector die soms de CPU volledig in beslag neemt en zo'n beetje alles stil zet). Wat ik wil weten - voordat ik een hoop geld uitgeef - is of een .NET GUI problemen zal gaan veroorzaken met mijn audio. Zelfs over een verhoging van de latency van 1 of 2 ms gaan mensen al klagen...