簡體   English   中英

如何通過CSS關閉某些HTML元素的硬件加速?

[英]How can I turn off hardware acceleration for certain HTML elements via CSS?

我使用HTML5,CSS3和jQueryMobile創建了一個非常復雜的Web應用程序。

似乎jQueryMobile通過translate3D和/或translateZ在此處和那里打開硬件加速。

現在,我想為某些HTML元素關閉此功能。

這給了我兩個問題:

  • 是否有CSS屬性/屬性或可以用來告訴瀏覽器關閉某些元素的硬件加速功能的東西?
  • 如果不是這樣:我將必須找到使用translate3DtranslateZ的位置,然后將其刪除,對嗎? 我怎樣才能做到這一點? 帶有許多HTML元素的整個標記非常復雜。 我無法遍歷檢查器中的每個元素並進行搜索。

更新: 我要解決此問題的原因

在我的Web應用程序中,有些元素需要可滑動(例如,圖片庫)。 在這種情況下,我需要硬件加速。 對於需要iScroll和所有其他應設置動畫元素(例如,幻燈片動畫和淡入淡出的動畫)的div容器也是如此。

但是,應用程序的許多部分都是靜態的(非動畫)。 使用Safari中的特殊啟動選項,我可以使硬件加速的零件可見。 這樣,我注意到,整個應用程序不僅在硬件上得到了加速,而且在硬件上也得到了加速。

恕我直言,這不是一件好事,因為:

  • 加速整個過程會給GPU帶來沉重的負擔,這會使整個應用在滾動時變得口吃。
  • AFAIK的最佳做法是讓CPU處理靜態內容,而GPU只處理所有精美的動畫內容。
  • 動畫結束后,應該停用硬件加速,因為不再需要硬件加速,這會縮短電池壽命。

在瀏覽了成千上萬行CSS代碼之后,我發現了這一點:

.ui-page{-webkit-backface-visibility: hidden !important}

這對所有頁面均有效,並導致了問題。 刪除那條線對我來說很固定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM