我目前正在開發一個程序來顯示和控制桌面上的動畫精靈。現在我的問題是將它們繪製到屏幕上。只要精靈不阻礙它,用戶仍然應該能夠訪問其他應用程序。在(桌面)屏幕上繪製形狀移動對象
我的嘗試在下面,我希望有人能指引我走向正確的方向。我並不關心我需要使用哪個庫,只要性能足夠滿足20-30個動畫精靈的需求。
我嘗試至今:
我第一次嘗試使用Qt。我用QWidget和QLabel來顯示對象的像素圖。像素本身有一個alpha通道,我使用QWidget的setMask(pixmap.mask())方法去除任何我不想顯示的東西,但是這種方法不能用於快速移動形狀,比如移動生物。如果setMask被調用所有的50-100ms來改變掩碼到下一個移動相位,那麼CPU負載會變得很高,同時有很多生物同時移動。
我的第二次嘗試是使用一個QWidget所有的生物,這樣setMask不是每次召喚一次,而是每次只能召喚一次,可以用這種方式移動更多的生物,但當鼠標指針移動到生物上時,屏幕會像地獄一樣閃爍。嘗試Xlib的XShape函數來改變每個生物的形狀,但表現並不比setMask好多少。
我試過Qt中的透明度,但是如果我在整個屏幕上使用QWidget,移動鼠標時X的CPU負載會變得非常高。我不知道,如果我能在這裏做更好的事情。
你的整個問題可以用概括請嘗試修剪這段文字。我們不需要任何第一個子彈列表,你的程序的細節與實際問題無關。 – meagar
你是對的文本牆。我是掛了我的問題,並認爲「更多信息的更好的人能理解我的問題」 – WkoD