iPhone Opengl 游戏有广告== fps 问题?

标签 iphone opengl-es iad

我有一款游戏可以正常运行(大约 30fps),但是当我尝试实现广告时,fps 下降了。我尝试了 Greystripe 和 iAds,但结果相同(iAds 可能更糟)。平均 fps 几乎相同,但始终存在巨大的峰值(每秒 1-2 个峰值),并且游戏无法玩。

我猜这是因为广告处于另一个 View 中。我在某处读到,iPhone 上的 opengl 应用程序不喜欢有其他 View ,但应用程序商店中有很多带有广告的游戏。他们是如何做到的?

我的实现应该没问题。我按照文档和样本告诉我的去做了一切。我将 opengl View 和 ad View 作为应用程序窗口中的 subview ,adview 位于 opengl View 前面,从而覆盖了其中的一部分。这可能是问题所在吗?是否最好让 opengl View 变小以留出广告空间,这样它们就不会重叠?您还有其他可能出错的想法吗?

最佳答案

洛普,我创建了一个要点 at this link我编写了一个单例“AdManager”类来使用 cocos2d 处理 iAd。当然,Cocos2d 位于 OpenGL 之上,而且我发现即使对于相对复杂的游戏,此代码也不会影响 FPS。

您必须对此进行一些修改才能与您的应用程序配合使用,更改 cocos2d 调用等,但这将为您提供 iAd 的异步加载,这应该有助于解决 FPS 问题。

要使用此类,请包含其 header 并调用

[[AdManager sharedManager] attachAdToView:self.view];

无论您在哪里需要 iAds。广告将保持隐藏状态,直到广告加载,此时它们将在屏幕顶部弹出。 (该类适用于 iOS 4.0、4.1 和 4.2)。

另外,我应该补充一点,我有 cocos2d 在我称为“Cocos2DController”的整个 UIViewController 中运行。当我将广告附加到 cocos2d View 时,我使用

[[AdManager sharedManager] attachAdToView:[[CCDirector sharedDirector] openGLView]];

祝你好运!

关于iPhone Opengl 游戏有广告== fps 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4250225/

相关文章:

java - glTexImage2D 中的 ByteBuffer.wrap() 导致过多的垃圾收集

ios - 如何知道用户是否触摸了iAd?

android - Haskell Android OpenGL

iphone - 使用 vkontakte、odnoklassniki、kaixinrepaste 分享

iphone - 在 Objective-c 上将十六进制转换为 ASCII 数字

iphone - 在自定义 UINavigationController 中强制执行特定 rootViewController 的推荐方法是什么?

iphone - 在图像上创建一个图层并通过触摸调整其坐标

objective-c - iPad 上的 iAd : Landscape iAd not Oriented Correctly

ios - 应用因 iOS 广告标识符而被拒绝

iphone - 与 iOS 上的 Map Kit 相比,Bing map 的优缺点是什么