Allocation.SetAutoPadding(Boolean) Metodo

Definizione

Specifica il mapping tra le celle dell'allocazione e gli elementi di una matrice quando i dati vengono copiati dall'allocazione alla matrice o viceversa.

[Android.Runtime.Register("setAutoPadding", "(Z)V", "GetSetAutoPadding_ZHandler", ApiSince=23)]
public virtual void SetAutoPadding(bool useAutoPadding);
[<Android.Runtime.Register("setAutoPadding", "(Z)V", "GetSetAutoPadding_ZHandler", ApiSince=23)>]
abstract member SetAutoPadding : bool -> unit
override this.SetAutoPadding : bool -> unit

Parametri

useAutoPadding
Boolean

True: abilitare AutoPadding; False: disabilitare AutoPadding

Attributi

Commenti

Specifica il mapping tra le celle dell'allocazione e gli elementi di una matrice quando i dati vengono copiati dall'allocazione alla matrice o viceversa.

Si applica solo a un'allocazione il cui elemento è un vettore di lunghezza 3 (ad esempio Element#U8_3 o Element#RGB_888). L'abilitazione di questa funzionalità può rendere meno efficiente la copia dei dati dall'allocazione a una matrice o viceversa.

Le celle elemento Vec3 vengono archiviate in celle Allocation as Vec4 Element con lo stesso android.renderscript.Element.DataTypeelemento , con il quarto componente vettore trattato come riempimento. Quando questa funzionalità è abilitata, solo i componenti dati, ovvero i primi 3 componenti vettoriali di ogni cella, verranno mappati tra la matrice e l'allocazione. Se disabilitato, è necessario eseguire il mapping esplicito dei componenti di riempimento, come descritto nell'esempio seguente.

Ad esempio, quando si copia una matrice integer in un'allocazione di due Element#I32_3 celle usando #copyFrom(int[]):

Se disabilitata: la matrice deve avere almeno 8 numeri interi, con i primi 4 interi copiati nella prima cella dell'allocazione e i successivi 4 interi copiati nella seconda cella. I valori interi 4 e 8 vengono mappati come componenti di riempimento.

Se abilitata: la matrice deve avere almeno 6 numeri interi, con i primi 3 numeri interi copiati nella prima cella come componenti dati e i 3 successivi copiati nella seconda cella. Non esiste alcun mapping per i componenti di riempimento.

Analogamente, quando si copia una matrice di byte in un'allocazione di due Element#I32_3 celle, usando #copyFromUnchecked(int[]):

Se disabilitata: la matrice deve avere almeno 32 byte, con i primi 16 byte copiati nella prima cella dell'allocazione e i 16 byte successivi copiati nella seconda cella. I byte 13th-16th e 29th-32nd vengono mappati come componenti di riempimento.

Se abilitata: la matrice deve avere almeno 24 byte, con i primi 12 byte copiati nella prima cella dell'allocazione e i 12 byte successivi copiati nella seconda cella. Non esiste alcun mapping per i componenti di riempimento.

Analogamente alla copia di dati in un'allocazione da una matrice, quando si copiano dati da un'allocazione a una matrice, i componenti di riempimento per le celle elemento Vec3 non verranno copiati/mappati alla matrice se è abilitata l'opzione AutoPadding.

Impostazione predefinita: disabilitata.

per android.renderscript.Allocation.setAutoPadding(boolean).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a