HardwareRenderer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立一個硬體加速渲染器的實例。
[Android.Runtime.Register("android/graphics/HardwareRenderer", ApiSince=29, DoNotGenerateAcw=true)]
public class HardwareRenderer : Java.Lang.Object
[<Android.Runtime.Register("android/graphics/HardwareRenderer", ApiSince=29, DoNotGenerateAcw=true)>]
type HardwareRenderer = class
inherit Object
- 繼承
- 屬性
備註
建立一個硬體加速渲染器的實例。 這用來渲染從 RenderNode建構到輸出 android.view.Surface的場景。 HardwareRenderer 實例數量可以隨意設定。
<h3>資源與生命週期</h3>
所有 HardwareRenderer 實例共用一個渲染執行緒。 渲染執行緒包含執行 GPU 加速渲染所需的 GPU 上下文與資源。 因此,第一個 HardwareRenderer 會同時建立相關的 GPU 情境,但之後的每個增量 HardwareRenderer 價格都相當便宜。 預期的使用方式是為每個活躍 Surface的 都設置一個 HardwareRenderer 實例。 例如,當活動顯示對話時,系統內部會使用兩個硬體渲染器,兩者可能同時繪製。
注意:由於渲染執行緒是共享且合作的,任何 Surface 使用線程都必須具備迅速且可靠的消耗側。 系統提供的消費者 android.view.SurfaceView如 、 android.view.Window#takeSurface(SurfaceHolder.Callback2)或 android.view.TextureView 全部符合此要求。 然而,如果使用自訂消費者,例如使用 SurfaceTexture 時,應用程式 android.media.ImageReader 有責任確保他們能迅速且迅速地消費更新。 若未達成,渲染執行緒會在該表面停頓,阻擋所有 HardwareRenderer 實例。
Java 文件 android.graphics.HardwareRenderer。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| HardwareRenderer() |
建立一個新的 HardwareRenderer 實例。 |
| HardwareRenderer(IntPtr, JniHandleOwnership) |
建立一個硬體加速渲染器的實例。 |
欄位
| 名稱 | Description |
|---|---|
| SyncContextIsStopped |
已淘汰.
硬體渲染器被設定為「停止」狀態。 |
| SyncFrameDropped |
已淘汰.
內容是同步的,但渲染器在這個垂直同步期間拒絕產生任何一幀。 |
| SyncLostSurfaceRewardIfFound |
已淘汰.
硬體渲染器已經沒有有效 |
| SyncOk |
已淘汰.
沒什麼特別的報告。 |
| SyncRedrawRequested |
已淘汰.
渲染器正在要求重新繪製。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| DrawingEnabled |
如果 HardwareRender 會產生輸出,則會回傳 true。 -或- 切換 HardwareRenderer 是否能在目前流程中全域產生繪圖輸出。 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
建立一個硬體加速渲染器的實例。 (繼承來源 JavaObject) |
| JniPeerMembers |
建立一個硬體加速渲染器的實例。 |
| Opaque |
渲染器是否設定成不透明。 -或者- 改變 HardwareRenderer 的不透明度。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
建立一個硬體加速渲染器的實例。 |
| ThresholdType |
建立一個硬體加速渲染器的實例。 |
方法
| 名稱 | Description |
|---|---|
| ClearContent() |
會銷毀所有與目前渲染內容相關的顯示清單。 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
建立一個硬體加速渲染器的實例。 (繼承來源 JavaObject) |
| CreateRenderRequest() |
回傳 a |
| Destroy() |
會破壞這個 HardwareRenderer 的渲染上下文。 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
建立一個硬體加速渲染器的實例。 (繼承來源 JavaObject) |
| Equals(Object) |
建立一個硬體加速渲染器的實例。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| NotifyFramePending() |
通知硬體渲染器即將有呼叫。 |
| SetContentRoot(RenderNode) |
將內容根設定為渲染。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetLightSourceAlpha(Single, Single) |
配置環境光和局部陰影 alpha。 |
| SetLightSourceGeometry(Single, Single, Single, Single) |
設定光源中心。 |
| SetName(String) |
為這個渲染器設定一個名稱。 |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
建立一個硬體加速渲染器的實例。 (繼承來源 JavaObject) |
| SetSurface(Surface) |
要渲染的表面。 |
| Start() |
繼續渲染到表面。 |
| Stop() |
硬性停止渲染到表面。 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
建立一個硬體加速渲染器的實例。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
建立一個硬體加速渲染器的實例。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
建立一個硬體加速渲染器的實例。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
建立一個硬體加速渲染器的實例。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
建立一個硬體加速渲染器的實例。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
建立一個硬體加速渲染器的實例。 (繼承來源 JavaObject) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
建立一個硬體加速渲染器的實例。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |