У меня есть приложение, которое отлично работает на предыдущих итерациях iPad
, но падает на новый iPad Air
.GLKTextureInfo используется с саморазрушением на iPad Air?
Катастрофа происходит на этой линии с ошибкой EXE_BAD_ACCESS
:
self.textureInfo = [GLKTextureLoader textureWithContentsOfData:imageData options:options error:&error];
if (self.textureInfo == nil) {
NSLog(@"Error loading texture file %@", [error localizedDescription]);
return nil;
}
Я пытаюсь устранить эту проблему. Может ли кто-нибудь предположить, почему это может быть проблемой в эфире, в то время как точно такой же код работает на всех других устройствах? Этот код работает в потоке.
Есть ли возможность одновременного доступа к контексту OpenGL ES, на котором это включено? Это звучит для меня как состояние гонки, которое теперь срабатывает из-за немного отличающихся характеристик производительности iPad Air. –
Привет, Брэд, я думаю, это возможно. Как я могу предотвратить/устранить эту проблему? – GuybrushThreepwood
Обычно я использую очередную диспетчерскую очередь для каждого контекста и отправляю ему все, что касается этого контекста. Это гарантирует последовательный доступ, но позволяет избежать дорогостоящих блокировок. Это также довольно легко реализовать. –