PicoSDK

2022-06-09  本文已影响0人  SMSM

5万字

https://developer.pico-interactive.com/document/doc

  1. Pico的框架和Android原生的对比
  2. 开发Pico应用和开发UnityMobile的区别
  3. Job对应Pico框架的哪些层

  1. SDK提供 https://developer.pico-interactive.com/document/doc 为unity提供 扩展能力么?支付、统计、SDK

  2. FOV 6 DoF追踪类型 两只 6 DoF 手柄(红外光学追踪) 四个单目鱼眼相机 眼球追踪双目 60/90 Hz

  3. 分层

开发者工具层- PreviewToolsApk MetricsTool

Multiview 能力实现了用一个摄像机完成立体渲染,可减少一半的绘制调用(draw call)和遮罩剔除(occlusion culling),并明显提升复杂场景的帧率。

通常情况下,若设备的分辨率不够高,图像边缘会呈现锯齿状。抗锯齿能力通过一系列的算法,使用中间色调包围锯齿边缘,使其平滑,但会在一定程度上使边缘更加模糊。


  1. VR合成层
    通常来说,Pico VR 应用的场景内容渲染流程如下:
    左右眼相机将场景内容渲染到 Eye Buffer 上。
    绘制完成后,ATW 线程对 Eye Buffer 进行畸变、采样等处理。
    处理完毕后,场景内容最终被渲染到屏幕上。
    通过 VR 合成层,不需要将场景内容绘制到到 Eye Buffer 上,而是直接透传给 ATW 线程进行畸变、采样、合成等处理。因此,整个渲染流程更加简单,减少一次额外的纹理采样操作,并提高纹理和视频的清晰度。
  2. 性能分两方面,渲染引擎性能优化(Unity、drawcall、overdraw)、系统性能设置(分辨率、帧率、多layer)
    2.1 引擎优化
    2.1.1 Multiview 能力实现了用一个摄像机完成立体渲染,可减少一半的绘制调用(draw call)和遮罩剔除(occlusion culling),并明显提升复杂场景的帧率。
  3. XR接口
    https://docs.unity3d.com/Manual/xrsdk-display.html
  1. TODO
    1.1 跨进程录屏。Binder共享内存机制、surface生产消费模式
    1.2 MVP坐标转换。
    1.2.1 模拟有一个双目相机的渲染过程,纹理宽度是单眼的两倍。有两种方案,绘制一次(shader内存在两个视图矩阵,左右眼)、绘制两次(只有一个视图矩阵,每次绘制重新更新MVP) 。https://docs.unity3d.com/Manual/SinglePassStereoRendering.html 。相比独立两次渲染。 Multiview 能力实现了用一个摄像机完成立体渲染,可减少一半的绘制调用(draw call)和遮罩剔除(occlusion culling),并明显提升复杂场景的帧率。实现的方案是,shader中存在两个视图矩阵。
    Use cases for UnityXRRenderPass include the following:
    优化前 Two-pass stereo rendering (2 RenderPass x 1 RenderParams)
    优化后 Single pass stereo rendering (1 RenderPass x 2 RenderParams)

1.2.2 模拟一个360度自动旋转的场景,里面的每个物体的坐标是咋样的呢?或者用threejs,查看深度buffer。

1.2.1 视锥裁剪、遮罩裁剪。
遮罩裁剪可以移除完全看不到的物体,是CPU阶段,原理是unity为每个object生成包围盒子,有相机发射均匀射线,打到哪些物体,不是GPU中深度buffer阶段,减少drawcall。
https://blog.csdn.net/lanazyit/article/details/108589839https://docs.unity3d.com/cn/2020.3/Manual/OcclusionCulling.html

1.3 异步渲染到底有哪些优势呢?多线程渲染:低延迟和帧后处理。
一个渲染管线功能通常包含:剔除、渲染、后期处理

1.4 知道性能瓶颈工具
GPU Profiler
Frame Debugger
查看DrawCall

上一篇 下一篇

猜你喜欢

热点阅读