Non ho mai usato È possibile disegnare contemporaneamente l'opzione menzionata nel builder di iterface. Vedi immagine qui sotto:Che cosa può disegnare contemporaneamente il generatore di interfacce?
Qualcuno mi può spiegare il suo uso e scopo?
Non ho mai usato È possibile disegnare contemporaneamente l'opzione menzionata nel builder di iterface. Vedi immagine qui sotto:Che cosa può disegnare contemporaneamente il generatore di interfacce?
Qualcuno mi può spiegare il suo uso e scopo?
Si può usare per informare che il vostro AppKit NSView
sottoclasse -drawRect:
metodo di istanza può essere chiamato da un thread secondario.
È 10,6+. Quando/se AppKit esegue il rendering delle viste in modo asincrono, -drawRect:
viene eseguito utilizzando i blocchi simultanei e il tuo -drawRect:
verrà chiamato da un thread secondario. Ciò significa che l'implementazione della sottoclasse deve essere protetta da thread (per compatibilità, è disabilitata per impostazione predefinita).
Vedere anche -[NSView setCanDrawConcurrently:]
per dettagli, perché ci sono poche cose necessarie per abilitare effettivamente questo comportamento. Inoltre, non dovrebbe implicare che AppKit è protetto da thread o che le sue sottoclassi NSView
sono progettate per supportare questa funzionalità. È progettato per il il tuo disegno pesante.
L'opzione è per la visualizzazione che supporta il disegno filettato ad esempio NSProgressIndicator
. Se è possibile selezionare Disegna simultaneamente, drawRect può essere richiamato da un thread in background per quella vista. Fare riferimento alla classe NSView.
None of the AppKit's views support this (except for NSButton and NSProgressIndicator, but they have separate APIs for this for historical reasons).
Si noti che a partire da OS X 10.8 e iOS 6.0, l'impostazione della nuova proprietà 'drawsAsynchronously' sul layer della vista può fornire prestazioni sufficienti senza la complicazione di' drawRect: 'thread-safe. Su OS X dovrai utilizzare una vista con strato di livello per usare 'drawsAsynchronously'. –
@robmayoff bel suggerimento +1. hai per caso misurato questo o hai trovato una buona recensione? sto scrivendo per un po 'i renderer concomitanti thread-safe. Immagino che sia un'area che molte persone vorrebbero evitare :) – justin
Non ci ho giocato. Il video * Ottimizzazione della grafica 2D e delle animazioni * di [WWDC 2012] (https://developer.apple.com/videos/wwdc/2012/) lo discute, a partire da 31m24s. –