Harlon
Гость
|
|
« Ответ #10 : Июнь 06, 2018, 20:29 » |
|
Не спасло, если я помещаю socket->readAll() в условие, как вы написали, я начинаю терять большую часть данных ибо она стирается ещё раньше чем DataStream успевает их передать в массив. Я поставил очистку буфера сразу после того, как DataStream отработает, и на скорости 10-20 это спасает, но периодически всё равно попадается неверный массив(даже если слот не нагружать отрисовкой).
Вот как примерно выглядит нормальный массив:
QVector(502, -1766, -1285, 1130, 1167, 1350, -1212, 1115, 296, 1609, 829, -1732, -124, 1152, 772, 1971, 1537, 7, 474, -220, 1180, 1330, 715, 1081, 731, -74, 1158, 1421, 310, -1916, 1302, -268, -551, 1794, -780, -23, -1937, -958, -941, 1581, 493, -1216, -1038, -690, -400, 1712, -832, 940, 1380, 1215, 233, -1627, 205, -1695, -540, 756, -745, 1174, 683, -1545, 1059, 8, 1946, 367, -1003, 1289, -1398, 73, -429, 656, 1401, 1678, 1325, -1726, 758, 1028, -887, -1181, -1539, 1589, -1623, 633, -1881, -1121, 1514, -41, -801, -635, 1177, 785, 1276, 418, 220, -1814, 341, 317, 844, -1213, 1617, 1185, 836, -1099, -1526, 444, -272, -1424, -229, -1151, 960, 536, 1231, -136, -247, -955, 1857, -1472, 1612, -1524, -1233, 1262, 544, 1986, 135, -62, 1170, -749, 486, 585, -246, 1004, 1643, -1297, -447, -1658, 1771, -621, -134,...
А вот так выглядит массив, который разрушился:
QVector(1936748367, 0, 73364037, -101318656, 5701631, 24248320, -28246016, -17039361, -25624577, -72876033, -15204353, 42401791, -98697216, 25231359, 61079552, -24051712, -128188417, 33816575, -64159744, -63373313, -49610753, 105447423, -108331008, 104333311, -77463552, 116916223, 36569088, 2686976, 40960000, 29163520, -22478848, 15269887, 66650112, -37552128, 44105727, 50200576, 40632320, 2686976, -3080192, -8388609, 75431935, 18153472, -7274496, -52166657, -12845057, -125370369, -69337089, -28180481, -43122689, 92930047, -73465856, -111280129, 104529919, -34471936, 69533695, -103088128, 38535167, ...
Может есть мысли по чему на быстрой скорости так разрушается массив?
|