我有一个EAGLView,其中有一个EAGLLayer作为支持层。我的应用程序基于UIKit,但我想全屏显示基于OpenGL的图表。删除基础视图会很痛苦,我只想将EAGLView显示在其他视图之上(通过将其作为子视图添加到窗口中)。

当然,我的EAGLView是不透明的。什么都没有闪耀。我认为可以,但是也许有人可以从经验中看出这是否不好?系统是否足够聪明,可以检测到最顶层是OpenGL层,而屏幕上没有其他东西,而忽略了OpenGL层下面的内容?

最佳答案

就CPU而言,如果EAGLView不透明为%100,我不认为应该付出任何代价。另一方面,如果您不从视图堆栈中删除视图,则它将没有充分的理由使用内存。

因此,我猜答案取决于视图占用了多少空间以及EAGLView中的内存使用量和计算强度。如果出于某种原因,后面的视图是具有1000个不使用uitableview的单元格的dequeueReusableCellWithIdentifier,那么您可能会受到很大的性能损失,但是如果您拥有简单的uiview,则根本不会受到任何影响。

我对此的诚实看法是,只有实际尝试才能发现。

关于iphone - 当UIView低于EAGLView时,我会受到很大的性能损失吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6588706/

10-13 06:29