Skip to content

Commit 7ac85fa

Browse files
committed
Use a dictionary instead of an array
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 <[email protected]> Reviewed-by: Mårten Nordheim <[email protected]> Reviewed-by: Jesus Fernandez <[email protected]>
1 parent b531607 commit 7ac85fa

File tree

1 file changed

+38
-44
lines changed

1 file changed

+38
-44
lines changed

src/plugins/platforms/webgl/webqt.jsx

Lines changed: 38 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -849,39 +849,39 @@ window.onload = function () {
849849

850850
}
851851

852-
var commandsNeedingResponse = [
853-
"swapBuffers",
854-
"checkFramebufferStatus",
855-
"createProgram",
856-
"createShader",
857-
"genBuffers",
858-
"genFramebuffers",
859-
"genRenderbuffers",
860-
"genTextures",
861-
"getAttachedShaders",
862-
"getAttribLocation",
863-
"getBooleanv",
864-
"getError",
865-
"getFramebufferAttachmentParameteriv",
866-
"getIntegerv",
867-
"getParameter",
868-
"getProgramInfoLog",
869-
"getProgramiv",
870-
"getRenderbufferParameteriv",
871-
"getShaderiv",
872-
"getShaderPrecisionFormat",
873-
"getString",
874-
"getTexParameterfv",
875-
"getTexParameteriv",
876-
"getUniformfv",
877-
"getUniformLocation",
878-
"getUniformiv",
879-
"getVertexAttribfv",
880-
"getVertexAttribiv",
881-
"getShaderSource",
882-
"getShaderInfoLog",
883-
"isRenderbuffer"
884-
];
852+
var commandsNeedingResponse = {
853+
"swapBuffers" : undefined,
854+
"checkFramebufferStatus" : undefined,
855+
"createProgram" : undefined,
856+
"createShader" : undefined,
857+
"genBuffers" : undefined,
858+
"genFramebuffers" : undefined,
859+
"genRenderbuffers" : undefined,
860+
"genTextures" : undefined,
861+
"getAttachedShaders" : undefined,
862+
"getAttribLocation" : undefined,
863+
"getBooleanv" : undefined,
864+
"getError" : undefined,
865+
"getFramebufferAttachmentParameteriv" : undefined,
866+
"getIntegerv" : undefined,
867+
"getParameter" : undefined,
868+
"getProgramInfoLog" : undefined,
869+
"getProgramiv" : undefined,
870+
"getRenderbufferParameteriv" : undefined,
871+
"getShaderiv" : undefined,
872+
"getShaderPrecisionFormat" : undefined,
873+
"getString" : undefined,
874+
"getTexParameterfv" : undefined,
875+
"getTexParameteriv" : undefined,
876+
"getUniformfv" : undefined,
877+
"getUniformLocation" : undefined,
878+
"getUniformiv" : undefined,
879+
"getVertexAttribfv" : undefined,
880+
"getVertexAttribiv" : undefined,
881+
"getShaderSource" : undefined,
882+
"getShaderInfoLog" : undefined,
883+
"isRenderbuffer" : undefined
884+
};
885885

886886
var ensureContextData = function (context) {
887887
if (!(context in contextData)) {
@@ -971,12 +971,9 @@ window.onload = function () {
971971
offset += 4;
972972
obj["function"] = textDecoder.decode(new Uint8Array(buffer, offset, obj.functionNameSize));
973973
offset += obj.functionNameSize;
974-
for (var i in commandsNeedingResponse) {
975-
if (commandsNeedingResponse[i] === obj.function) {
976-
obj["id"] = view.getUint32(offset);
977-
offset += 4;
978-
break;
979-
}
974+
if (obj.function in commandsNeedingResponse) {
975+
obj["id"] = view.getUint32(offset);
976+
offset += 4;
980977
}
981978
obj["parameterCount"] = view.getUint32(offset);
982979
offset += 4;
@@ -1085,11 +1082,8 @@ window.onload = function () {
10851082
var d = contextData[currentContext];
10861083
if (d)
10871084
d.glCommands.push(obj);
1088-
for (var i in commandsNeedingResponse)
1089-
if (commandsNeedingResponse[i] === obj.function) {
1090-
execGL(currentContext);
1091-
break;
1092-
}
1085+
if (obj.function in commandsNeedingResponse)
1086+
execGL(currentContext);
10931087
};
10941088

10951089
socket.onopen = function (event) {

0 commit comments

Comments
 (0)