gpt4 book ai didi

Android:在 GLSurfaceView 中创建纹理会从标准硬件加速 View 元素中删除纹理

转载 作者:太空狗 更新时间:2023-10-29 13:31:20 24 4
gpt4 key购买 nike

我有一款游戏在嵌入常规 Android 布局的 GLSurfaceView 中运行。在应用程序运行一段时间后,创建了许多纹理,然后又将其删除(所有显示的文本都动态渲染到纹理中,如果不使用,则再次删除),其他布局元素的纹理将丢失它们的纹理。

例如, TextView 或按钮会丢失其文本纹理。 messed up button text

这似乎是所有 Android 版本 > 3 的问题,其中布局由 OpenGL ES 渲染器渲染。

游戏纹理不会丢失。只有 View 纹理。

glGenTexturesglDeleteTextures 是同步的,所以这应该不是问题..

混合常规 android View 和 OpenGL 时,还有其他必须注意的事情吗?

最佳答案

好的,我发现了我的问题所在。我通过在 fragment 的 onPause();

上调用 mTextureManager.deleteAllTextures() 来删除 UI 线程上的纹理

我通过使用

删除我的纹理来解决它
mSurfaceView.queueEvent(new Runnable(){
//delete all textures here
}

希望这对其他人有帮助...

关于Android:在 GLSurfaceView 中创建纹理会从标准硬件加速 View 元素中删除纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15113893/

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