Domanda

Ecco la configurazione:

Ho un NSView che è una vista CALayer-backed, e contiene molte CALayers. Ho un CALayer per il 'background' della vista, e molti piccoli CALayers che sono sottolivelli. Talvolta questa vista può essere molto grande (grande come 2560x1400), e quando lo fa c'è un ritardo molto evidente nelle CALayers. La mia ipotesi è che Core Animation ha qualche problema con molto grandi CALayers.

Quindi, vorrei cambiare questo strato 'background' da essere un CALayer a forse un CGLayer o qualcosa del genere, in cui si sarebbe resa come una normale CGLayer nella vista. Tuttavia, su di esso, le piccole CALayers continuerebbe a funzionare proprio come fanno ora. In questo modo ho solo piccole CALayers, il livello di 'background' può essere memorizzato nella cache in un CGLayer, e, auspicabilmente, la performance aumenterà in modo significativo.

Qualcuno sa come questo potrebbe essere realizzato?

È stato utile?

Soluzione

Dopo la ricerca di più, non sembra come questo può essere realizzato. Un NSView è o CALayer-backed, o non lo è.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top