我正在使用pygtk爲Maemo平臺編寫一個應用程序,並且樹視圖的渲染速度似乎是一個問題。由於應用程序是媒體控制器,因此我在UI中使用了過渡動畫。這些動畫在圍繞UI移動時將控件滑動到視圖中。樹控件的問題是速度慢。加速GTK樹視圖
只是在屏幕中間移動小部件並不是那麼慢,但如果細胞暴露,幀速率真的下降。是什麼讓這更令人討厭的是,如果唯一被曝光的領域是帶有行標籤的標題行,則幀率仍然在控制之下。
由此判斷,我懷疑GTK樹視圖是每次單行像素曝光時再次繪製完整單元格。有沒有辦法強制GTK將整個小部件繪製到某個緩衝區中,即使它的某些部分不在屏幕上,然後在動畫時使用緩衝區繪製小部件?
使用Viewport和滾動並使用佈局面板和向下移動小部件之間還有區別嗎?我曾想象過Viewport速度更快,但當我嘗試使用兩種版本時,我沒有看到真正的區別。
我知道這不一定是GTK創建的。我試過的其他選擇是pygame,但我更喜歡一些具有基於窗口小部件的事件處理內置的更高級別的實現。此外,pygtk具有在Windows和窗口中運行的好處,因此開發更容易。