QLineSeries重新整理緩慢

2021-10-12 17:54:16 字數 1134 閱讀 6970

實時波形分析,波形顯示重新整理周期500ms,重新整理寬度為310點;在顯示寬度為800時,不時出現程式忙的圓圈狀態,介面有些卡。

顯示處理最主要部分是往lineseries中新增逐個新增節點。

//向單個lineseries中新增節點

void ccurveview::addseries(int ichan, const qlist*plistpoint)

else if (pt.y() < *pmin)

}int icnt = pseries->count();

if (icnt > m_iptcapacity)

}

由於程式中有多個lineseries,往每個lineseries中更新資料時,每次更新乙個點;懷疑這裡太慢;修改方案:1)每個lineseries,一次更新乙個list;2)新增函式,更新所有lineseries;

void ccurveview::addseries(const qlist*plistpoint, int ichannum)

else if (pt.y() < *pmin)

}if (icnt > m_iptcapacity)

plistpoint++;

}}

但效果不明顯。

在網上查詢解決方法,有人提出,更新資料時將lineseries移除,資料整理完後,再新增。

void ccurveview::addseries(const qlist*plistpoint, int ichannum)

else if (pt.y() < *pmin)

}if (icnt > m_iptcapacity)

m_chart->addseries(pseries);//add line series

m_chart->setaxisx(m_axisx, pseries);

m_chart->setaxisy(m_axisy, pseries);

plistpoint++;

}}

結果發現:明顯重新整理速度變快。

於是,我將顯示寬度調整為8000,重新整理寬度調整為3510,也沒有發現明顯的滯後。

優化模式:先移除lineseries,新增資料,再新增。

mysql緩慢 mysql緩慢查詢

以下內容非常快,需要6分鐘以上的1000萬行,但示例表中的字段和索參數量少於生產表,因此如果您決定使用它,則需要花費更長的時間!注意 該示例是在windows作業系統上完成的,因此您必須更改路徑名和 r n以符合linux標準!這裡是我現有的表 innodb引擎ofc drop table if e...

非常緩慢相

我想從乙個二維向量找到獨特的行和其相應的指標。我使用的排序和獨特的命令從stl,下面我用在for迴圈中找到原始陣列的唯一指標命令列。然而,該 是非常緩慢相比,matlab。我的陣列的大小是相當大的50000 by 3周圍。有什麼辦法?你好,每個人!我是乙個 來自中國的 大學生。我很高興見到大家。我m...

緩慢變化維

一.什麼是緩慢變化維?緩慢變化維 slowly changing dimensions,scd 它的提出是因為在現實世界中,維度的屬性並不是靜態的,它會隨著時間的流失發生緩慢的變化。這種隨時間發生變化的維度,一般被稱為緩慢變化維 並且把處理維度表的歷史變化資訊的問題稱為處理緩慢變化維的問題,有時也簡...