gpt4 book ai didi

ios - 调整 GLKView 大小时的性能问题。

转载 作者:行者123 更新时间:2023-11-29 01:10:18 26 4
gpt4 key购买 nike

我有一个显示 CIFilter 的 CIImage 的 GLKView。当我通过捏合手势调整 View 框架大小时,我的帧率很低。这背后的问题是什么?我怎样才能适应它?

最佳答案

由于此 API 的工作方式,它可能会在调整大小时创建一个新的帧缓冲区。可以使用自定义 View 来执行此操作,因此“不要使用 GLKView”将是一个答案。仍然缩放绑定(bind)到 openGL 的自定义 View 会在缩放以显示缩放时给出糟糕的分辨率。

你提供的关于你正在做什么的信息太少了,但总的来说,它看起来像是在 openGL 中使用 ScrollView 。我通过在绘制 View 的顶部添加一个 ScrollView 然后听取它的交互(滚动,缩放)来实现这样的系统。然后我计算了 ScrollView 内容 View 的可见矩形,并在 openGL 投影矩阵中使用了相同的矩形。这只是使用可见帧参数调用 ortho

所以一般来说,你不应该简单地尝试缩放,缩放你渲染的 View ,因为你需要更大的缓冲区。当从 View 创建缓冲区时,它的大小将与 View 本身乘以您设置的内容比例(@2x、@3x)相同。因此,在缩放时,您实际上缩放了 View ,然后将其调整为需要时间的新大小。但是,如果您不调整它的大小,您将失去分辨率。因此,从我所看到的情况来看,改变投影矩阵是可行的方法,并且很有可能从 ScrollView 传输数据,这样你就可以获得所有的弹跳效果等。

请注意,如果您已经在使用显示链接(无论交互如何,都不断重绘 View ),则无需监听 ScrollView 事件。您只需在绘制的每一帧上获取 ScrollView 的可见矩形。这将剥离一些代码。

关于ios - 调整 GLKView 大小时的性能问题。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35840766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com