W3C ಕರಡು WebGPU ಮಾನದಂಡವನ್ನು ಅನಾವರಣಗೊಳಿಸುತ್ತದೆ

W3C ವೆಬ್‌ಜಿಪಿಯು ಮತ್ತು ವೆಬ್‌ಜಿಪಿಯು ಶೇಡಿಂಗ್ ಲಾಂಗ್ವೇಜ್ (ಡಬ್ಲ್ಯೂಜಿಎಸ್‌ಎಲ್) ವಿಶೇಷಣಗಳ ಮೊದಲ ಡ್ರಾಫ್ಟ್‌ಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದೆ, ಇದು ರೆಂಡರಿಂಗ್ ಮತ್ತು ಕಂಪ್ಯೂಟಿಂಗ್‌ನಂತಹ ಜಿಪಿಯು ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಎಪಿಐಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ, ಜೊತೆಗೆ ಜಿಪಿಯುನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಪ್ರೋಗ್ರಾಮ್‌ಗಳನ್ನು ಬರೆಯಲು ಶೇಡರ್ ಭಾಷೆಯನ್ನು ವಿವರಿಸುತ್ತದೆ. ಕಲ್ಪನಾತ್ಮಕವಾಗಿ ವಲ್ಕನ್, ಮೆಟಲ್ ಮತ್ತು ಡೈರೆಕ್ಟ್3ಡಿ 12 ಎಪಿಐಗಳಿಗೆ ಹೋಲುತ್ತದೆ. ಮೊಜಿಲ್ಲಾ, ಗೂಗಲ್, ಆಪಲ್ ಮತ್ತು ಮೈಕ್ರೋಸಾಫ್ಟ್‌ನ ಎಂಜಿನಿಯರ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಕಾರ್ಯನಿರತ ಗುಂಪಿನಿಂದ ವಿಶೇಷಣಗಳನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ.

ಕಲ್ಪನಾತ್ಮಕವಾಗಿ, ವೆಬ್‌ಜಿಪಿಯು ವೆಬ್‌ಜಿಎಲ್‌ನಿಂದ ವಲ್ಕನ್ ಗ್ರಾಫಿಕ್ಸ್ ಎಪಿಐ ಓಪನ್‌ಜಿಎಲ್‌ನಿಂದ ಭಿನ್ನವಾಗಿದೆ, ಆದರೆ ಇದು ನಿರ್ದಿಷ್ಟ ಗ್ರಾಫಿಕ್ಸ್ ಎಪಿಐ ಅನ್ನು ಆಧರಿಸಿಲ್ಲ, ಆದರೆ ವಲ್ಕನ್, ಲೋಹ ಮತ್ತು ಲೋಹಗಳಲ್ಲಿ ಕಂಡುಬರುವ ಅದೇ ಕಡಿಮೆ-ಮಟ್ಟದ ಮೂಲಗಳನ್ನು ಬಳಸುವ ಸಾರ್ವತ್ರಿಕ ಪದರವಾಗಿದೆ. ಡೈರೆಕ್ಟ್3ಡಿ. ವೆಬ್‌ಜಿಪಿಯು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಸಂಘಟನೆಯ ಮೇಲೆ ಕಡಿಮೆ ಮಟ್ಟದ ನಿಯಂತ್ರಣವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಜಿಪಿಯುಗೆ ಆದೇಶಗಳ ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಪ್ರಸರಣ, ಸಂಬಂಧಿತ ಸಂಪನ್ಮೂಲಗಳು, ಮೆಮೊರಿ, ಬಫರ್‌ಗಳು, ಟೆಕ್ಸ್ಚರ್ ಆಬ್ಜೆಕ್ಟ್‌ಗಳು ಮತ್ತು ಕಂಪೈಲ್ ಮಾಡಿದ ಗ್ರಾಫಿಕ್ಸ್ ಶೇಡರ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಈ ವಿಧಾನವು ಓವರ್ಹೆಡ್ ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಮೂಲಕ ಮತ್ತು GPU ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೆಚ್ಚಿಸುವ ಮೂಲಕ ಗ್ರಾಫಿಕ್ಸ್ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸಾಧಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ವೆಬ್‌ಜಿಪಿಯು ವೆಬ್‌ಗಾಗಿ ಸಂಕೀರ್ಣವಾದ 3D ಪ್ರಾಜೆಕ್ಟ್‌ಗಳನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ, ಅದು ವಲ್ಕನ್, ಮೆಟಲ್ ಅಥವಾ ಡೈರೆಕ್ಟ್3D ಅನ್ನು ನೇರವಾಗಿ ಪ್ರವೇಶಿಸುವ ಸ್ವತಂತ್ರ ಪ್ರೋಗ್ರಾಂಗಳಿಗಿಂತ ಕೆಟ್ಟದ್ದಲ್ಲ, ಆದರೆ ನಿರ್ದಿಷ್ಟ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಿಗೆ ಸಂಬಂಧಿಸಿಲ್ಲ. WebGPU ಸಹ ವೆಬ್ ಅಸೆಂಬ್ಲಿಯಲ್ಲಿ ಸಂಕಲನದ ಮೂಲಕ ಸ್ಥಳೀಯ ಗ್ರಾಫಿಕ್ಸ್ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ವೆಬ್-ಸಕ್ರಿಯಗೊಳಿಸಿದ ರೂಪದಲ್ಲಿ ಪೋರ್ಟ್ ಮಾಡಲು ಹೆಚ್ಚುವರಿ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. 3D ಗ್ರಾಫಿಕ್ಸ್ ಜೊತೆಗೆ, ವೆಬ್‌ಜಿಪಿಯು ಜಿಪಿಯುಗೆ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಆಫ್‌ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ಶೇಡರ್‌ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಂಬಂಧಿಸಿದ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ.

WebGPU ನ ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು:

  • ಸಂಪನ್ಮೂಲಗಳ ಪ್ರತ್ಯೇಕ ನಿರ್ವಹಣೆ, ಪೂರ್ವಸಿದ್ಧತಾ ಕೆಲಸ ಮತ್ತು GPU ಗೆ ಆಜ್ಞೆಗಳ ಪ್ರಸರಣ (WebGL ನಲ್ಲಿ ಒಂದು ವಸ್ತುವು ಒಂದೇ ಬಾರಿಗೆ ಎಲ್ಲದಕ್ಕೂ ಕಾರಣವಾಗಿದೆ). ಮೂರು ಪ್ರತ್ಯೇಕ ಸಂದರ್ಭಗಳನ್ನು ಒದಗಿಸಲಾಗಿದೆ: ಟೆಕ್ಸ್ಚರ್‌ಗಳು ಮತ್ತು ಬಫರ್‌ಗಳಂತಹ ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸಲು GPU ಸಾಧನ; ರೆಂಡರಿಂಗ್ ಮತ್ತು ಕಂಪ್ಯೂಟೇಶನ್ ಹಂತಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ವೈಯಕ್ತಿಕ ಆಜ್ಞೆಗಳನ್ನು ಎನ್ಕೋಡಿಂಗ್ ಮಾಡಲು GPUCommandEncoder; GPU ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು GPUCommandBuffer ಅನ್ನು ಸರತಿಯಲ್ಲಿರಿಸಲಾಗಿದೆ. ಫಲಿತಾಂಶವನ್ನು ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಕ್ಯಾನ್ವಾಸ್ ಅಂಶಗಳೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದ ಪ್ರದೇಶದಲ್ಲಿ ಸಲ್ಲಿಸಬಹುದು ಅಥವಾ ಔಟ್‌ಪುಟ್ ಇಲ್ಲದೆಯೇ ಸಂಸ್ಕರಿಸಬಹುದು (ಉದಾಹರಣೆಗೆ, ಕಂಪ್ಯೂಟ್ ಕಾರ್ಯಗಳನ್ನು ಚಾಲನೆ ಮಾಡುವಾಗ). ಹಂತಗಳನ್ನು ಬೇರ್ಪಡಿಸುವುದರಿಂದ ಸಂಪನ್ಮೂಲ ಸೃಷ್ಟಿ ಮತ್ತು ತಯಾರಿ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ವಿಭಿನ್ನ ಥ್ರೆಡ್‌ಗಳಲ್ಲಿ ಚಲಾಯಿಸಬಹುದಾದ ವಿಭಿನ್ನ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳಾಗಿ ಬೇರ್ಪಡಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ.
  • ಸಂಸ್ಕರಣಾ ರಾಜ್ಯಗಳಿಗೆ ವಿಭಿನ್ನ ವಿಧಾನ. WebGPU ಎರಡು ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ನೀಡುತ್ತದೆ - GPURenderPipeline ಮತ್ತು GPUComputePipeline, ಇದು ಡೆವಲಪರ್‌ನಿಂದ ಮೊದಲೇ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ವಿವಿಧ ಸ್ಥಿತಿಗಳನ್ನು ಸಂಯೋಜಿಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಇದು ಶೇಡರ್‌ಗಳನ್ನು ಮರುಕಂಪೈಲ್ ಮಾಡುವಂತಹ ಹೆಚ್ಚುವರಿ ಕೆಲಸಗಳಲ್ಲಿ ಸಂಪನ್ಮೂಲಗಳನ್ನು ವ್ಯರ್ಥ ಮಾಡದಂತೆ ಬ್ರೌಸರ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಬೆಂಬಲಿತ ಸ್ಥಿತಿಗಳು ಸೇರಿವೆ: ಶೇಡರ್‌ಗಳು, ವರ್ಟೆಕ್ಸ್ ಬಫರ್ ಮತ್ತು ಆಟ್ರಿಬ್ಯೂಟ್ ಲೇಔಟ್‌ಗಳು, ಸ್ಟಿಕಿ ಗ್ರೂಪ್ ಲೇಔಟ್‌ಗಳು, ಬ್ಲೆಂಡಿಂಗ್, ಡೆಪ್ತ್ ಮತ್ತು ಪ್ಯಾಟರ್ನ್‌ಗಳು ಮತ್ತು ಪೋಸ್ಟ್-ರೆಂಡರ್ ಔಟ್‌ಪುಟ್ ಫಾರ್ಮ್ಯಾಟ್‌ಗಳು.
  • ವಲ್ಕನ್‌ನ ಸಂಪನ್ಮೂಲ ಗುಂಪಿನ ವೈಶಿಷ್ಟ್ಯಗಳಂತೆಯೇ ಬೈಂಡಿಂಗ್ ಮಾಡೆಲ್. ಸಂಪನ್ಮೂಲಗಳನ್ನು ಒಟ್ಟಿಗೆ ಗುಂಪು ಮಾಡಲು, WebGPU GPUBindGroup ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ, ಆಜ್ಞೆಗಳನ್ನು ಬರೆಯುವಾಗ ಶೇಡರ್‌ಗಳಲ್ಲಿ ಬಳಸಲು ಇತರ ರೀತಿಯ ವಸ್ತುಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸಬಹುದು. ಅಂತಹ ಗುಂಪುಗಳನ್ನು ರಚಿಸುವುದರಿಂದ ಚಾಲಕವು ಮುಂಚಿತವಾಗಿ ಅಗತ್ಯ ಪೂರ್ವಸಿದ್ಧತಾ ಕ್ರಮಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ ಮತ್ತು ಡ್ರಾ ಕರೆಗಳ ನಡುವೆ ಸಂಪನ್ಮೂಲ ಬೈಂಡಿಂಗ್‌ಗಳನ್ನು ಹೆಚ್ಚು ವೇಗವಾಗಿ ಬದಲಾಯಿಸಲು ಬ್ರೌಸರ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ. GPUBindGroupLayout ವಸ್ತುವನ್ನು ಬಳಸಿಕೊಂಡು ಸಂಪನ್ಮೂಲ ಬೈಂಡಿಂಗ್‌ಗಳ ವಿನ್ಯಾಸವನ್ನು ಪೂರ್ವನಿರ್ಧರಿತಗೊಳಿಸಬಹುದು.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ