рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдПрд░реЗ

рд╡реЗрдмрдЬреАрдПрд▓ рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде, рдХрдИ рдирдП рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрд╛рдИ рджрд┐рдП рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВред рд╡реЗ рд╕рднреА рдПрдХ рд╕рдорд╛рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдЧрддрд┐ рдореЗрдВ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВ, рд╕реАрдорд╛ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рдХреЗрд╡рд▓ рджреЛ рддрд░реАрдХреЗ рдФрд░ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╣реВрдВ, рддреЛ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдФрд░ рдХреНрд░реЛрдо рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВ ред
рдЦреИрд░, рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдореВрд▓ рдмрд╛рддреЗрдВ рдХреА рдореВрд▓ рдмрд╛рддреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ

рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдПрд░рд░реНрд╕ рдХреЗ рдкреНрд░рдХрд╛рд░


рддрд╛рд▓рд┐рдХрд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╕реЗ рдЪреЛрд░реА рд╣реЛ рдЧрдИ рд╣реИ

рдЯрд╛рдЗрдкрдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдЖрдХрд╛рд░рд╡рд┐рд╡рд░рдгC рдореЗрдВ рдПрдирд╛рд▓реЙрдЧ
Int8Array18-рдмрд┐рдЯ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХsigned char
Uint8Array18-рдмрд┐рдЯ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХunsigned char
Int16Array216-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдПshort
Uint16Array216-рдмрд┐рдЯ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХunsigned short
Int32Array432-рдмрд┐рдЯ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХint
Uint32Array432-рдмрд┐рдЯ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХunsigned int
Float32Array432 рдмрд┐рдЯ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░float
Float64Array864 рдмрд┐рдЯ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░double



рдПрдХ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реБрдЖ рдРрд░реЗ рдмрдирд╛рдПрдВ


рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдРрд░реЗ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдЯрд╛рдЗрдк рдирд╛рдо рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Uint8Areray рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
 var ls1 = new Uint8Array(10), //      ls2 = new Uint8Array([1,2,3,4,5]); //     (  imageData    ),          


рд╕рд░рдгреА рднрд░реЗрдВ


рдЗрдВрдбреЗрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рднрд░рдирд╛ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╕рд░рдгреА рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдСрдлрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рд╕рд░рдгреА рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
 ls1.set(ls2,3); //   -            undefined,  0. 


рдПрдХ рдЙрдк-рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рд╕рд░рдгреА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
 var ls3 = ls1.subarray(2,5), //{0:0, 1:1, 2:2, 3:3, 4:4} -- -    2-  5- ls4 = ls1.subarray(6); //{0:4, 1:5, 2:0, 3:0} -- -    6-   


рдЙрддреНрдкрд╛рджрдХрддрд╛


рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдкрд░реАрдХреНрд╖рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╡рд┐рдХрд▓реНрдкред
 var ls1 = new Uint8Array(320000), ls2 = new Uint8Array(320000), ls3 = new Uint8Array(320000); for(var i=0;i<319999;i++){ ls1[i] = i; ls2[i] = 32-i; } //4ms for(var i=0;i<319999;i++){ ls3[i] = ls1[i] * ls2[i]; }//15ms ls1.set(ls3.subarray(30,60),30) //11ms 


 var ls1 = [], ls2 = [], ls3 = []; for(var i=0;i<319999;i++){ ls1[i] = i; ls2[i] = 32-i; } //26ms for(var i=0;i<319999;i++){ ls3[i] = ls1[i] * ls2[i]; } //19ms ls1.splice(30,30,ls3.slice(30,60)) //7ms 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрднреА рддрдХ рдХреЗрд╡рд▓ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рд╕рд░рдгрд┐рдпрд╛рдБ рдмрд╣реБрдд рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡реЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддреЗ рд╣реИрдВред

рдЕрдкрдбреЗрдЯ: рдЧрд▓рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг


рдЬреИрд╕рд╛ рдХрд┐ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, WebGL ECMA-262 (рдмрд┐рдВрджреБ 3 - WebGL рдХрд▓реНрдкрдирд╛ рдореЗрдВ рдЯрд╛рдЗрдк рд░реВрдкрд╛рдВрддрд░рдг рдирд┐рдпрдо) рд╕реЗ рд░реВрдкрд╛рдВрддрд░рдг рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
 a = new Uint8Array(3); a[1] = 4; a[1] = 'asdasdsad'; a == {0:0, 1:0, 2:0} 

Source: https://habr.com/ru/post/In119694/


All Articles