Share via


HardwareRenderer 类

定义

创建硬件加速呈现器实例。

[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
继承
HardwareRenderer
属性

注解

创建硬件加速呈现器实例。 这用于将生成的 RenderNode场景呈现为输出 android.view.Surface。 可以根据需要有任意数量的 HardwareRenderer 实例。

<h3>资源 & 生命周期</h3>

所有 HardwareRenderer 实例共享一个公共呈现线程。 呈现线程包含执行 GPU 加速呈现所需的 GPU 上下文 & 资源。 因此,创建的第一个 HardwareRenderer 也会产生创建关联 GPU 上下文的成本,但此后每个增量 HardwareRenderer 的成本相当低。 预期的用法是为每个活动 Surface提供一个 HardwareRenderer 实例。 例如,当活动显示对话框时,系统内部将使用 2 个硬件呈现器,这两个呈现器可能同时绘制。

注意:由于呈现线程的共享协作性质,使用的任何 Surface 内容都必须具有提示、可靠的使用方,这一点至关重要。 系统提供的使用者(如 android.view.SurfaceViewandroid.view.Window#takeSurface(SurfaceHolder.Callback2)android.view.TextureView )都符合此要求。 但是,如果使用自定义使用者(例如在使用 SurfaceTexture 时), android.media.ImageReader 或者应用负责确保他们及时、快速地使用更新。 否则将导致呈现线程在该图面上停止,从而阻止所有 HardwareRenderer 实例。

android.graphics.HardwareRendererJava 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

构造函数

HardwareRenderer()

创建 HardwareRenderer 的新实例。

HardwareRenderer(IntPtr, JniHandleOwnership)

创建硬件加速呈现器实例。

字段

SyncContextIsStopped
已过时.

硬件呈现器已设置为“已停止”状态。

SyncFrameDropped
已过时.

内容已同步,但呈现器拒绝在此 vsync 间隔内生成帧。

SyncLostSurfaceRewardIfFound
已过时.

硬件呈现器不再具有要呈现到的有效 android.view.Surface

SyncOk
已过时.

没有什么有趣的报告。

SyncRedrawRequested
已过时.

呈现器正在请求重绘。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
DrawingEnabled

如果 HardwareRender 将生成输出,则返回 true。 - 或 - 切换 HardwareRenderer 是否会在当前进程中全局生成绘图输出。

Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

创建硬件加速呈现器实例。

(继承自 Object)
JniPeerMembers

创建硬件加速呈现器实例。

Opaque

呈现器是否设置为不透明。 - 或 - 更改 HardwareRenderer 的不透明度。

PeerReference

创建硬件加速呈现器实例。

(继承自 Object)
ThresholdClass

创建硬件加速呈现器实例。

ThresholdType

创建硬件加速呈现器实例。

方法

ClearContent()

销毁与当前呈现内容关联的所有显示列表。

Clone()

创建并返回此对象的副本。

(继承自 Object)
CreateRenderRequest()

返回 FrameRenderRequest 可用于呈现新帧的 。

Destroy()

销毁此 HardwareRenderer 的呈现上下文。

Dispose()

创建硬件加速呈现器实例。

(继承自 Object)
Dispose(Boolean)

创建硬件加速呈现器实例。

(继承自 Object)
Equals(Object)

指示某个其他对象是否“等于”此对象。

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

当垃圾回收确定不再引用对象时,由垃圾回收器对对象调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
NotifyFramePending()

通知硬件呈现器,即将开始调用 FrameRenderRequest#syncAndDraw()

SetContentRoot(RenderNode)

设置要呈现的内容根。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetLightSourceAlpha(Single, Single)

配置环境 & 点阴影 alpha。

SetLightSourceGeometry(Single, Single, Single, Single)

设置光源的中心。

SetName(String)

设置此呈现器的名称。

SetSurface(Surface)

要呈现到的图面。

Start()

继续呈现到图面中。

Stop()

硬停止呈现到图面中。

ToArray<T>()

创建硬件加速呈现器实例。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

创建硬件加速呈现器实例。

(继承自 Object)
Wait()

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

创建硬件加速呈现器实例。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

创建硬件加速呈现器实例。

(继承自 Object)
IJavaPeerable.Finalized()

创建硬件加速呈现器实例。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

创建硬件加速呈现器实例。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

创建硬件加速呈现器实例。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

创建硬件加速呈现器实例。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

创建硬件加速呈现器实例。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

创建硬件加速呈现器实例。

GetJniTypeName(IJavaPeerable)

创建硬件加速呈现器实例。

适用于