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 实例。 例如,当活动显示对话框时,系统内部将使用 2 个硬件呈现器,这两个呈现器可能同时绘制。
注意:由于呈现线程的共享协作性质,使用的任何 Surface
内容都必须具有提示、可靠的使用方,这一点至关重要。 系统提供的使用者(如 android.view.SurfaceView
、 android.view.Window#takeSurface(SurfaceHolder.Callback2)
或 android.view.TextureView
)都符合此要求。 但是,如果使用自定义使用者(例如在使用 SurfaceTexture
时), android.media.ImageReader
或者应用负责确保他们及时、快速地使用更新。 否则将导致呈现线程在该图面上停止,从而阻止所有 HardwareRenderer 实例。
的 android.graphics.HardwareRenderer
Java 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。
构造函数
HardwareRenderer() |
创建 HardwareRenderer 的新实例。 |
HardwareRenderer(IntPtr, JniHandleOwnership) |
创建硬件加速呈现器实例。 |
字段
SyncContextIsStopped |
已过时.
硬件呈现器已设置为“已停止”状态。 |
SyncFrameDropped |
已过时.
内容已同步,但呈现器拒绝在此 vsync 间隔内生成帧。 |
SyncLostSurfaceRewardIfFound |
已过时.
硬件呈现器不再具有要呈现到的有效 |
SyncOk |
已过时.
没有什么有趣的报告。 |
SyncRedrawRequested |
已过时.
呈现器正在请求重绘。 |
属性
Class |
返回此 |
DrawingEnabled |
如果 HardwareRender 将生成输出,则返回 true。 - 或 - 切换 HardwareRenderer 是否会在当前进程中全局生成绘图输出。 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
创建硬件加速呈现器实例。 (继承自 Object) |
JniPeerMembers |
创建硬件加速呈现器实例。 |
Opaque |
呈现器是否设置为不透明。 - 或 - 更改 HardwareRenderer 的不透明度。 |
PeerReference |
创建硬件加速呈现器实例。 (继承自 Object) |
ThresholdClass |
创建硬件加速呈现器实例。 |
ThresholdType |
创建硬件加速呈现器实例。 |
方法
ClearContent() |
销毁与当前呈现内容关联的所有显示列表。 |
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
CreateRenderRequest() |
返回 |
Destroy() |
销毁此 HardwareRenderer 的呈现上下文。 |
Dispose() |
创建硬件加速呈现器实例。 (继承自 Object) |
Dispose(Boolean) |
创建硬件加速呈现器实例。 (继承自 Object) |
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) |
设置此呈现器的名称。 |
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) |
创建硬件加速呈现器实例。 |