2017-01-26 26 views
0

我們在芯片上使用TI Sitara AM33系統,具有600 Mhz時鐘和256 Mb RAM。 操作系統是OE Yocto v2.1 Krogoth,內核4.4.19。視頻驅動程序 - DRM/KSM鼠標指針滯後於TI Sitara上的QT5應用

我們遇到鼠標性能問題。

我做了一個小錄象演示效果: https://www.youtube.com/watch?v=5dRDGzhcnn0

注意如何鼠標指針在窗口的空白區域平滑移動和控制滯後了。就好像它正在通過果凍。如果你在窗口上有更多的控制,鼠標變得如此遲鈍,它是無法使用的。雖然CPU負載很小。

在視頻中的示例應用程序中可能沒有錯誤 - 我們創建了一個空白的QT Widget項目,將控件放在窗體上,就是這樣,它根本就沒有做任何其他事情。

有沒有人看過這樣的鼠標問題?

+0

Qt5,我希望,意味着涉及GPU,所以CPU負載並不重要。順便說一句,與空白區域相比,重新計算區域需要做很多工作。所以可以成爲GPU方面的一個計算問題。此外,也可能是圖形保留RAM的問題:交換結構增加滯後。 – LPs

+0

是的,這是QT5。我不知道如何在嵌入式系統上剖析GPU,但是如果我運行「top」,它會告訴我CPU佔用40%和使用0 Mb交換。 – Yuriy

回答

1

如果你不使用X服務器,那麼你需要檢查你的平臺上使用的Qt平臺插件。也許這個插件是壞的或者不是你的情況中的最佳選擇。

除了合成窗口(如果有的話)之外,你的應用程序也不太可能使用GPU,所以CPU負載很低。

看起來好像您的平臺上的事件調度系統非常慢,那裏有更多的小部件。這不太可能與圖形方面有很大關係。在消除的過程中,也許您可​​以首先對同步原語(QBasicMutexQMutex)和原子整數和指針的性能進行基準測試,以確保它們針對您的平臺進行了正確配置。

+0

我綁定禁用所有的控件,即按鈕將無效,因此無法點擊。這大大改善了事情。我會責怪圖形緩慢繪製按鈕懸停在動畫上,但即使通過單選按鈕和複選框hoved cusor是緩慢的。也許那麼,你是對的,系統對懸停事件本身的反應很慢,即使沒有定義? – Yuriy

+0

首先,準備一個debug *和* release版本的Qt,包含調試信息。然後運行* release * build並檢查其性能。只有在性能不佳的情況下,才能在剖析器下運行它,並確切瞭解它在哪裏花費時間。 –