2017-06-24 4 views
1

Je suis nouveau à WebGL, et j'essayais de faire un jeu pour l'apprendre, donc j'ai fait face à cette question ... J'ai entendu que WebGL utilise le GPU et le JavaScript sans WebGL utilise le CPU, et j'ai entendu lequel utiliser document.getElementByID ou document.addEventListener en JavaScript utilise CPU ... alors je me demandais comment obtenir la position de la souris dans le code WebGL? Est-ce que l'utilisation de ce genre de code est acceptable?Document.addEventListener ("Mousemove") peut-il diminuer la performance de WEBGL?

document.addEventListener("mousemove" , function (event) {x=event.PageX;y=event.PageY}; 

puis d'utiliser x et y dans la fonction gameLoop qui est appelée par requestAnimitionFrame.

Je veux dire que cela poserait un problème parce que le code ci-dessus utilise le CPU alors que le WebGL utilise le GPU ...?

Comme je l'ai dit je suis complètement nouveau, donc ma question peut être stupide mais quel est le meilleur moyen d'obtenir la position de la souris dans WebGL?

et utilise également document.getElementByID dans le code WebGL une mauvaise idée?

merci beaucoup.

Répondre

2

GPU utilisé pour certains calculs mathématiques difficiles, car ils pourraient être fait plus rapidement. Mais dans votre cas vous ne faites aucune mathématique, vous stockez simplement des données d'une variable à une autre, cela ne peut pas être fait par GPU, en tout cas ce serait fait par CPU et c'est normal parce que seul le CPU peut faire il.

Et c'est bon, ne vous inquiétez pas.

+1

merci beaucoup. vous voulez dire qu'il n'interrompra pas mes calculs mathématiques dans la fonction gameloop? WebGL-il comprendre ce qu'il faut faire? merci beaucoup. Je suis nouveau et j'étais inquiet de ne pas faire les choses efficacement. merci – Jamasb