ios8 w / swift iPad只有UX / UI设计

时间:2014-11-19 22:43:44

标签: ios swift ios8 metal

我实施的应用程序,iPad,iOS8.1 +快速/金属,仅景观

主视图有3个容器,左侧拉出/滑出/图标抽屉用于启动子过程

左侧幻灯片只包含图标,没有文字,如数据库访问,麦克风,模板叠加,视频录制,播放,iTunes,Dropbox,用户配置等

3个主要容器, 视图1将保持3d渲染模型,这将占用75%horz / vert

视图2将在视图1中保持渲染模型的2d侧投影(也称为侧视图或俯视图)

视图3将保存视图1或视图2中选择的某个详细子视图                 或pdf文件                 或网络容器

我担心线程,因为这个应用程序将异步拉入大量数据,通过gpu缓冲区渲染,然后通过airplay将结果推送到视频屏幕。

据说没有" Metal View Containers"但有GLKView,SceneKit为3d / 2d。

我需要定义3个通用容器视图并构建它们吗?或者这是另一种切断现有GLview for Metal的方法吗?

是否有人已经建造了这样的金属容器?

感谢任何积极的帮助。

1 个答案:

答案 0 :(得分:0)

不,GLKViewGLKViewController并不适用于Metal,即使它们都在GPU上执行。如果使用金属,则必须创建自己的金属View和金属ViewController。这是因为OpenGL是使用CAEAGLLayer完成的,而Metal是使用CAMetalLayer完成的。我不知道是否有人这样做过。很可能Apple会在SDK的下一次迭代中创建这些类。

对于3容器,您可以创建3个单独的图层,但手动告诉金属绘制3个单独的部分效率更高。但是,这不是一件容易的事。

只要您在执行期间不弄乱Metal缓冲区数据,我认为您不必担心线程。传递给GPU时,不会复制(可能)Metal的缓冲区数据。复制OpenGL缓冲区数据。