Pergunta

O aplicativo para iPhone que estou desenvolvendo no modo de paisagem está seriamente rodoviário. Coloquei -o em retrato para comparação e parece ser muito mais suave nessa orientação. Não estou fazendo o que eu acho que é um processo intensivo: uma visão de mapa, alguns botões, alguns rótulos e alguns desenhos de quartzo, mas alguma animação básica de quartzo diminui seriamente muito mal.

Alguém sabe se o modo de paisagem é terrivelmente deficiente em comparação com o retrato e/ou se sim, se existem maneiras melhores de criar um aplicativo de paisagem? Simplesmente uso uma visão rotacionada da raiz transformada 90 graus e anexo todas as minhas vistas sub.

Obrigado.

Foi útil?

Solução

Não deve haver diferença real entre as orientações da paisagem e do retrato quando se trata de renderizar o desempenho. Você está usando uma transformação para girar sua exibição principal 90 graus? A partir do iPhone OS 2.1, acredito que você não precisa mais aplicar manualmente uma transformação à sua visão principal para iniciar a paisagem. Tudo o que eu tinha que fazer para forçar a orientação da paisagem era colocar esse método de delegado dentro do meu delegado de aplicativo:

- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration;
{
    // This prevents the view from autorotating to portrait in the simulator
    if ((newStatusBarOrientation == UIInterfaceOrientationPortrait) || (newStatusBarOrientation == UIInterfaceOrientationPortraitUpsideDown))
        [application setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
}

e o seguinte no meu controlador de visão raiz:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
    return ( (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}

Outras dicas

Talvez você faça algumas divisões que resultam em posições de pixel não inteiro (como 0,76). Eu tive alguns problemas com o desempenho quando tive posições de pixel não inteiro. (Embora eu não tenha certeza de que eles estavam conectados. Mas talvez isso ajude você)

Obrigado por todas as suas sugestões e ajuda, todos. Tentei a sugestão de Brad de definir as configurações de auto -retorramento do View Controller e funcionou extremamente bem. Eu acho que esse foi um enorme fator que contribui para a desaceleração.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top