Allocation.SetAutoPadding(Boolean) Metode

Definisi

Menentukan pemetaan antara sel Alokasi dan elemen array saat data disalin dari Alokasi ke array, atau sebaliknya.

[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

Parameter

useAutoPadding
Boolean

True: aktifkan AutoPadding; False: nonaktifkan AutoPadding

Atribut

Keterangan

Menentukan pemetaan antara sel Alokasi dan elemen array saat data disalin dari Alokasi ke array, atau sebaliknya.

Hanya berlaku untuk Alokasi yang Elemennya adalah vektor panjang 3 (seperti Element#U8_3 atau Element#RGB_888). Mengaktifkan fitur ini dapat membuat penyalinan data dari Alokasi ke array atau sebaliknya kurang efisien.

Sel Elemen Vec3 disimpan dalam Alokasi sebagai sel Elemen Vec4 dengan yang sama android.renderscript.Element.DataType, dengan komponen vektor keempat diperlakukan sebagai padding. Ketika fitur ini diaktifkan, hanya komponen data, yaitu 3 komponen vektor pertama dari setiap sel, yang akan dipetakan antara array dan Alokasi. Saat dinonaktifkan, pemetaan eksplisit komponen padding diperlukan, seperti yang dijelaskan dalam contoh berikut.

Misalnya, saat menyalin array bilangan bulat ke Alokasi dua Element#I32_3 sel menggunakan #copyFrom(int[]):

Saat dinonaktifkan: Array harus memiliki setidaknya 8 bilangan bulat, dengan 4 bilangan bulat pertama disalin ke sel pertama Alokasi, dan 4 bilangan bulat berikutnya disalin ke sel kedua. Bilangan bulat ke-4 dan ke-8 dipetakan sebagai komponen padding.

Saat diaktifkan: Array hanya perlu memiliki setidaknya 6 bilangan bulat, dengan 3 bilangan bulat pertama disalin ke sel pertama sebagai komponen data, dan 3 berikutnya disalin ke sel kedua. Tidak ada pemetaan untuk komponen padding.

Demikian pula, saat menyalin array byte ke Alokasi dua Element#I32_3 sel, menggunakan #copyFromUnchecked(int[]):

Saat dinonaktifkan: Array harus memiliki setidaknya 32 byte, dengan 16 byte pertama disalin ke sel pertama Alokasi, dan 16 byte berikutnya disalin ke sel kedua. Byte ke-13-16 dan ke-29-32 dipetakan sebagai komponen padding.

Saat diaktifkan: Array hanya perlu memiliki setidaknya 24 byte, dengan 12 byte pertama disalin ke sel pertama Alokasi, dan 12 byte berikutnya disalin ke sel kedua. Tidak ada pemetaan untuk komponen padding.

Mirip dengan menyalin data ke Alokasi dari array, saat menyalin data dari Alokasi ke array, komponen padding untuk sel Elemen Vec3 tidak akan disalin/dipetakan ke array jika AutoPadding diaktifkan.

Default: Dinonaktifkan.

Java dokumentasi untuk android.renderscript.Allocation.setAutoPadding(boolean).

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Berlaku untuk