Frage

Hier ist das Setup:

Ich habe eine NSView die eine CALayer-backed ist Ansicht und enthält viele CALayers. Ich habe einen CALayer für den ‚Hintergrund‘ der Ansicht, und viele kleine CALayers der Unterschichten sind. Manchmal kann diese Ansicht sehr groß sein (so groß wie 2560x1400), und wenn es dort eine sehr merkliche Verzögerung in dem CALayers. Meine Vermutung ist, dass Core Animation einige Probleme mit sehr großem CALayers hat.

Also, ich mag diese ‚Hintergrund‘ Schicht aus ändern, um eine CALayer, um vielleicht eine CGLayer oder etwas zu sein, wo es wie ein normales CGLayer in die Ansicht gerendert werden würde. Allerdings oben drauf, würden die kleinen CALayers noch arbeiten, so wie sie es jetzt tun. So kann ich kleinen CALayers nur haben, die ‚Hintergrund‘ Schicht kann in einem CGLayer zwischengespeichert wird, und hoffentlich wird die Leistung deutlich erhöhen.

Wer weiß, wie dies erreicht werden könnte?

War es hilfreich?

Lösung

Nach mehr Forschung, es sieht nicht wie diese erreicht werden kann. Ein NSView ist entweder CALayer-backed, oder ist es nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top