שימוש בדיוק mediump ב-WebGL כשזה אפשרי

Ilmari Heikkinen

חברים שלנו ב-Opera, שבדקו את WebGL בחומרה אמיתית של OpenGL ES 2.0, ציינו: בהרבה הדגמות ובאפליקציות נעשה שימוש ברמת דיוק highp ב-fragment shaders כשזה לא באמת הכרחי.

Highp ב-fragment shaders הוא חלק אופציונלי במפרט של OpenGL ES 2.0, ולכן לא כל החומרה תומכת בו (וגם אם כן, יכול להיות פגיעה בביצועים). בדרך כלל, שימוש ב-mediump יהיה מספיק טוב וגם יבטיח שהאפליקציות יפעלו גם במכשירים ניידים.

בפועל, אם קוד ה-fragment shader שלכם התחיל בעבר עם

precision highp float;

שינוי הערך לאפשרות הבאה אמור לפתור את הבעיה:

precision mediump float; // or lowp