ΠΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡΠ΅ Google ΠΈ Binomial ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅ , ΠΊΠΎΠ΄Π΅ΠΊ Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠΈ ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡ Ρ Π½Π΅Π³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΡΠΌΠ°Ρ Β«.basisΒ» Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ. ΠΠΎΠ΄ΡΡ Π½Π° Π΅ΡΠ°Π»ΠΎΠ½Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Apache 2.0.
Basis Universal Π΄ΠΎΠΏΡΠ»Π²Π° ΠΏΠΎ-ΡΠ°Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° 3D Π΄Π°Π½Π½ΠΈ Draco ΠΈ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π° Π΄Π° ΡΠ΅ΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° Π½Π° ΡΠ΅ΠΊΡΡΡΡΠΈ Π·Π° GPU. ΠΠΎΡΠ΅Π³Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π±ΡΡ Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ Π² ΠΈΠ·Π±ΠΎΡΠ° ΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, Π½ΠΎ ΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° GPU ΠΈ Π·Π°Π΅ΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΡΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ°, ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠ°Ρ Ρ GPU ΡΠ΅ΠΊΡΡΡΡΠΈΡΠ΅ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ.
Π€ΠΎΡΠΌΠ°ΡΡΡ Basis Universal ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° Π½Π°ΡΠΈΠ²Π½ΠΎ Π½ΠΈΠ²ΠΎ Π·Π° GPU ΡΠ΅ΠΊΡΡΡΡΠΈ, Π½ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ.
Basis Π΅ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ ΡΠΎΡΠΌΠ°Ρ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π±ΡΡΠ·ΠΎ ΠΏΡΠ΅ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠΈ Π·Π° GPU, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΊΠ°ΠΊΡΠΎ Π½Π° Π½Π°ΡΡΠΎΠ»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΡΠ°Π½ΡΠ»Π°ΡΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠΈ PVRTC1 (4bpp RGB), BC7 (ΡΠ΅ΠΆΠΈΠΌ 6 RGB), BC1-5, ETC1 ΠΈ ETC2. Π Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° ASTC (RGB ΠΈΠ»ΠΈ RGBA) ΠΈ ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ 4/5 RGBA Π·Π° ΡΠΎΡΠΌΠ°ΡΠ° BC7 ΠΈ 4bpp RGBA Π·Π° PVRTC1.
Π’Π΅ΠΊΡΡΡΡΠΈΡΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ° basis Π·Π°Π΅ΠΌΠ°Ρ 6-8 ΠΏΡΡΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π²Π° ΠΏΡΡΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΡΠΈΠΏΠΈΡΠ½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΡΡΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° JPEG ΠΈ Ρ 10-25% ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΡΠ΅ΠΊΡΡΡΡΠΈΡΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌ RDO. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° JPEG ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ 891 ΠΠ±, Π° ΡΠ΅ΠΊΡΡΡΡΠ° ETC1 ΠΎΡ 1 ΠΠ±, ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΡΠΎΡΠΌΠ°Ρ Basis Π΅ 469 ΠΠ± Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ. ΠΡΠΈ ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΡΡΠ° Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ Π² ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ΠΊΡΡΡΡΠΈ Π² ΡΠΎΡΠΌΠ°Ρ JPEG ΠΈ PNG ΠΈΠ·ΡΠ°Π·Ρ
ΠΎΠ΄Π²Π°Ρ
Π° 16 ΠΠ± ΠΏΠ°ΠΌΠ΅Ρ, Π΄ΠΎΠΊΠ°ΡΠΎ Π·Π° ΡΠ΅ΠΊΡΡΡΡΠΈΡΠ΅ Π² ΡΠΎΡΠΌΠ°Ρ
Basis Π±ΡΡ
Π° Π½ΡΠΆΠ½ΠΈ 2 ΠΠ± ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΡΠ°Π½ΡΠ»Π°ΡΠΈΡ Π² BC1, PVRTC1 ΠΈ ETC1, ΠΈ 4 ΠΠ± Π² ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΡΠ°Π½ΡΠ»Π°ΡΠΈΡ Π² BC7.
ΠΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΏΡΠ΅Π²ΠΎΠ΄ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΡΠΌ Basis Universal Π΅ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠΎΡΡ. ΠΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΅ Π΄Π° ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΡΡΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π½ΠΎΠ² ΡΠΎΡΠΌΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π°ΡΠ° ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΡΠΈΠ»ΠΈΡΠ° Β«basisuΒ», ΠΈΠ·Π±ΠΈΡΠ°ΠΉΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΏΡΠ΅Π΄ΠΈ ΠΊΠΎΠ΄Π° Π·Π° ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΡΡ basisu, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈΡ ΡΠΎΡΠΌΠ°Ρ Π² ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ ΠΎΡ ΡΠ΅ΠΊΡΡΠΈΡ GPU ΡΠΎΡΠΌΠ°Ρ. ΠΡΠΈ ΡΠΎΠ²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΡΠ° Π² ΡΡΠ»Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ Π² ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ Π²ΠΈΠ΄ Π² GPU. ΠΠΌΠ΅ΡΡΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠ·ΡΡΠ»ΠΎ, GPU ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ° ΡΠ°ΠΌΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠ°ΡΡΠΈ ΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π² Π΅Π΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π½Π° Π½Π΅Π΅Π΄Π½ΠΎΡΠΎΠ΄Π½ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΈ ΠΎΡ ΡΠ΅ΠΊΡΡΡΡΠΈ (cubemap), ΠΎΠ±Π΅ΠΌΠ½ΠΈ ΡΠ΅ΠΊΡΡΡΡΠΈ, ΠΌΠ°ΡΠΈΠ²ΠΈ ΠΎΡ ΡΠ΅ΠΊΡΡΡΡΠΈ, Π½ΠΈΠ²Π° mipmap, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ ΠΎΡ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΎΡΠΊΡΡΠΈ ΠΎΡ ΡΠ΅ΠΊΡΡΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ΡΠΎ Π² Π΅Π΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π½Π° ΡΠ΅ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠ°Π»ΠΊΠΈ Π²ΠΈΠ΄Π΅Π° ΠΈΠ»ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΠΊΡΡΡΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠ±ΡΠ° ΠΏΠ°Π»ΠΈΡΡΠ° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Π΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΠΈΠΏΠΎΠ²ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Basis Universal ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° OpenMP. ΠΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΡΡ Π·Π°ΡΠ΅Π³Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΌΠΎ Π² Π΅Π΄Π½ΠΎΠΏΠΎΡΠΎΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊΡΡ Basis Universal Π·Π° Π±ΡΠ°ΡΠ·ΡΡΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ Π² ΡΠΎΡΠΌΠ°Ρ WebAssembly, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° WebGL. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Google ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Basis Universal Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π±ΡΠ°ΡΠ·ΡΡΠΈ ΠΈ Π΄Π° Π³ΠΎ ΠΏΡΠΎΠΏΠ°Π³Π°Π½Π΄ΠΈΡΠ° ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌ ΡΠΎΡΠΌΠ°Ρ Π·Π° ΡΠ΅ΠΊΡΡΡΡΠΈ Π·Π° WebGL ΠΈ Π±ΡΠ΄Π΅ΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. , ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»Π½ΠΎ ΡΡ ΠΎΠ΄Π½Π° Ρ API Vulkan, Metal ΠΈ Direct3D 12.
ΠΡΠ±Π΅Π»ΡΠ·Π²Π° ΡΠ΅, ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π²Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΌΠΎ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° GPU ΠΏΡΠ°Π²ΠΈ Basis Universal ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π½Π° WebAssembly ΠΈ WebGL, Π² ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΡΠ°Π·ΡΠ²Π°Ρ ΡΡΠΎΡΠΈΡΠΈ ΠΌΠ°Π»ΠΊΠΈ Π²ΠΈΠ΄Π΅Π° Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° CPU. ΠΠΎ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° SIMD ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² WebAssembly ΡΠΎΠ·ΠΈ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΏΡΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈ ΠΊΠΎΠ΄Π΅ΡΠΈ Π΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ, Π·Π°ΡΠΎΠ²Π° Π²ΠΈΠ΄Π΅ΠΎ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠ΅ΠΊΡΡΡΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ Π² ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎΡΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π΅ Π½Π΅ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠΎ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠ΄ Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° Π²ΠΈΠ΄Π΅ΠΎ, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎ Π·Π°ΠΏΡΠ»Π²Π°Π½Π΅ (CR).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
