From 7ac85fa5a5564aa4f2b66fe63c10f041479b8db5 Mon Sep 17 00:00:00 2001 From: Jesus Fernandez Date: Tue, 21 Nov 2017 15:32:20 +0100 Subject: Use a dictionary instead of an array MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This gives faster look-ups when checking if a function needs to return a value to the application. Change-Id: I732af378b826359e094822d602a6b8c424a65ab0 Reviewed-by: Edward Welbourne Reviewed-by: MÃ¥rten Nordheim Reviewed-by: Jesus Fernandez --- src/plugins/platforms/webgl/webqt.jsx | 82 ++++++++++++++++------------------- 1 file changed, 38 insertions(+), 44 deletions(-) diff --git a/src/plugins/platforms/webgl/webqt.jsx b/src/plugins/platforms/webgl/webqt.jsx index 3d775ec..ad48ed0 100644 --- a/src/plugins/platforms/webgl/webqt.jsx +++ b/src/plugins/platforms/webgl/webqt.jsx @@ -849,39 +849,39 @@ window.onload = function () { } - var commandsNeedingResponse = [ - "swapBuffers", - "checkFramebufferStatus", - "createProgram", - "createShader", - "genBuffers", - "genFramebuffers", - "genRenderbuffers", - "genTextures", - "getAttachedShaders", - "getAttribLocation", - "getBooleanv", - "getError", - "getFramebufferAttachmentParameteriv", - "getIntegerv", - "getParameter", - "getProgramInfoLog", - "getProgramiv", - "getRenderbufferParameteriv", - "getShaderiv", - "getShaderPrecisionFormat", - "getString", - "getTexParameterfv", - "getTexParameteriv", - "getUniformfv", - "getUniformLocation", - "getUniformiv", - "getVertexAttribfv", - "getVertexAttribiv", - "getShaderSource", - "getShaderInfoLog", - "isRenderbuffer" - ]; + var commandsNeedingResponse = { + "swapBuffers" : undefined, + "checkFramebufferStatus" : undefined, + "createProgram" : undefined, + "createShader" : undefined, + "genBuffers" : undefined, + "genFramebuffers" : undefined, + "genRenderbuffers" : undefined, + "genTextures" : undefined, + "getAttachedShaders" : undefined, + "getAttribLocation" : undefined, + "getBooleanv" : undefined, + "getError" : undefined, + "getFramebufferAttachmentParameteriv" : undefined, + "getIntegerv" : undefined, + "getParameter" : undefined, + "getProgramInfoLog" : undefined, + "getProgramiv" : undefined, + "getRenderbufferParameteriv" : undefined, + "getShaderiv" : undefined, + "getShaderPrecisionFormat" : undefined, + "getString" : undefined, + "getTexParameterfv" : undefined, + "getTexParameteriv" : undefined, + "getUniformfv" : undefined, + "getUniformLocation" : undefined, + "getUniformiv" : undefined, + "getVertexAttribfv" : undefined, + "getVertexAttribiv" : undefined, + "getShaderSource" : undefined, + "getShaderInfoLog" : undefined, + "isRenderbuffer" : undefined + }; var ensureContextData = function (context) { if (!(context in contextData)) { @@ -971,12 +971,9 @@ window.onload = function () { offset += 4; obj["function"] = textDecoder.decode(new Uint8Array(buffer, offset, obj.functionNameSize)); offset += obj.functionNameSize; - for (var i in commandsNeedingResponse) { - if (commandsNeedingResponse[i] === obj.function) { - obj["id"] = view.getUint32(offset); - offset += 4; - break; - } + if (obj.function in commandsNeedingResponse) { + obj["id"] = view.getUint32(offset); + offset += 4; } obj["parameterCount"] = view.getUint32(offset); offset += 4; @@ -1085,11 +1082,8 @@ window.onload = function () { var d = contextData[currentContext]; if (d) d.glCommands.push(obj); - for (var i in commandsNeedingResponse) - if (commandsNeedingResponse[i] === obj.function) { - execGL(currentContext); - break; - } + if (obj.function in commandsNeedingResponse) + execGL(currentContext); }; socket.onopen = function (event) { -- cgit v1.2.3