From f87f0080e618c4648b67898f054472b59880dab6 Mon Sep 17 00:00:00 2001 From: feyris-tan <4116042+feyris-tan@users.noreply.github.com> Date: Wed, 13 May 2026 20:04:24 +0200 Subject: [PATCH] Performance optimization in the RemoteStreamReaderClient for FFT Scan. --- .../RemoteStreamReaderClient.cs | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/skyscraper8/Skyscraper/IO/RemoteStreamReader/RemoteStreamReaderClient.cs b/skyscraper8/Skyscraper/IO/RemoteStreamReader/RemoteStreamReaderClient.cs index ecb3b7d..16b7dd9 100644 --- a/skyscraper8/Skyscraper/IO/RemoteStreamReader/RemoteStreamReaderClient.cs +++ b/skyscraper8/Skyscraper/IO/RemoteStreamReader/RemoteStreamReaderClient.cs @@ -550,16 +550,20 @@ namespace skyscraper5.Skyscraper.IO.RemoteStreamReader public bool FFTScan(int freq, int pol, int lof1, int lof2, int lofsw, uint range, byte mode, byte nb_acc, uint[] pTab, ref uint pBegin, ref uint pNum) { - TcpStream.WriteUInt32BE((uint)RemoteStreamReaderConstants.REQUEST_FFT_SCAN); - TcpStream.WriteInt32BE(freq); - TcpStream.WriteInt32BE(pol); - TcpStream.WriteInt32BE(lof1); - TcpStream.WriteInt32BE(lof2); - TcpStream.WriteInt32BE(lofsw); - TcpStream.WriteUInt32BE(range); - TcpStream.WriteUInt8(mode); - TcpStream.WriteUInt8(nb_acc); - TcpStream.WriteInt32BE(pTab.Length); + byte[] cmdBuffer = new byte[34]; + MemoryStream cmdBuilder = new MemoryStream(cmdBuffer); + cmdBuilder.WriteUInt32BE((uint)RemoteStreamReaderConstants.REQUEST_FFT_SCAN); + cmdBuilder.WriteInt32BE(freq); + cmdBuilder.WriteInt32BE(pol); + cmdBuilder.WriteInt32BE(lof1); + cmdBuilder.WriteInt32BE(lof2); + cmdBuilder.WriteInt32BE(lofsw); + cmdBuilder.WriteUInt32BE(range); + cmdBuilder.WriteUInt8(mode); + cmdBuilder.WriteUInt8(nb_acc); + cmdBuilder.WriteInt32BE(pTab.Length); + TcpStream.Write(cmdBuffer, 0, cmdBuffer.Length); + TcpStream.Flush(); RemoteStreamReaderConstants result = (RemoteStreamReaderConstants)(TcpStream.ReadUInt32BE()); switch (result)