1 votos

La representación de la Storyboard está corrupta en Xcode 15 en OCLP Ventura y Sonoma en gráficos Kepler (MBP mediados de 2014)

Tengo Xcode 15 instalado en Sonoma en una MBP 15" de mediados de 2014 (hardware no oficialmente compatible — utiliza OCLP). Hay un gran problema con la renderización de Storyboards, que corrompe no solo la renderización de Xcode, sino también todos los escritorios y espacios de trabajo visibles. No son utilizables.

Renderización de Storyboard rota

No hay bloqueos, y la renderización puede restaurarse a la normalidad simplemente ocultando el editor de Storyboard y asegurándose de que todas las áreas corruptas se vuelvan a renderizar, lo que sugiere que el problema es simplemente con las instrucciones de renderización y está aislado en los búferes gráficos.

Esto solo sucede cuando se conectan monitores externos.

0voto

J.Doe Puntos 90

He aprendido que el problema solo ocurre si se abre el storyboard mientras hay un monitor externo conectado, y también he aprendido que los monitores externos son manejados por la GPU discreta en esta máquina.

De esto, combinado con la nota de OpenCore Legacy Patcher sobre cómo la renderización de Storyboard puede corromperse en gráficos Kepler, y combinado con que el problema no está presente en Macbooks que solo tienen gráficos integrados de Intel, concluyo que esto solo es un problema cuando Xcode utiliza la GPU discreta para el trabajo de renderizado. Desafortunadamente, la participación de la GPU discreta es necesaria ya que quiero usar un monitor externo.

El siguiente descubrimiento fue que los storyboards no solo funcionaron bien siempre que los abrí sin que hubiera un monitor externo conectado, sino que también continuaron funcionando después de volver a enchufarlo. Claramente las superficies de render adquirieron y retuvieron algún tipo de afinidad por una de las dos GPU en el momento de la creación.

Pensé un poco más al respecto, porque no quiero estar constantemente desconectando monitores, y me pregunté si no hay otro estado del sistema que también obligará a las aplicaciones a usar la GPU integrada en lugar de la discreta. ¿Qué tal el ahorro de energía?

Después de desconectar el cable de alimentación y abrir Xcode/abrir storyboards en un monitor externo, con la batería, efectivamente obtengo el mismo resultado que cuando no hay un monitor conectado. Esto es mucho mejor que desconectar y volver a enchufar dos monitores cada vez.

En conclusión: si puedes aceptar resolver este problema de manera individual, puedes forzar a los storyboards de Xcode a preferir la iGPU durante su vida simplemente desconectando el cargador antes de abrirlos. Imagino que necesitarías habilitar la configuración de ahorro de energía del sistema para cambiar dinámicamente las GPUs para que esto funcione.

Si de alguna manera pudieras forzar el sistema de forma programática a su estado de ahorro de energía, o a siempre elegir la GPU integrada de alguna otra manera, entonces supongo que podrías teóricamente automatizar esto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X