Skip to content

Commit 6630f1f

Browse files
author
Antoine Lelièvre
committed
Fixed slow depth first compute order processing and cycle detection
1 parent faaff4f commit 6630f1f

File tree

12 files changed

+3020
-513
lines changed

12 files changed

+3020
-513
lines changed

Assets/Examples/BasicExample.asset

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -14,50 +14,46 @@ MonoBehaviour:
1414
m_EditorClassIdentifier:
1515
serializedNodes:
1616
- type: ColorNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
17-
jsonDatas: '{"GUID":"c2542e31-668d-4816-b7e9-f41dcdec423d","computeOrder":23,"position":{"serializedVersion":"2","x":-53.5,"y":-129.5,"width":369.0,"height":97.0},"expanded":true,"debug":false,"nodeLock":false,"color":{"r":1.0,"g":0.0,"b":0.2509803771972656,"a":1.0}}'
17+
jsonDatas: '{"GUID":"c2542e31-668d-4816-b7e9-f41dcdec423d","computeOrder":21,"position":{"serializedVersion":"2","x":-53.5,"y":-129.5,"width":369.0,"height":97.0},"expanded":true,"debug":false,"nodeLock":false,"color":{"r":1.0,"g":0.0,"b":0.2509803771972656,"a":1.0}}'
1818
- type: FloatNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
19-
jsonDatas: '{"GUID":"3327402b-5ad1-4564-af17-2025a850d4bb","computeOrder":28,"position":{"serializedVersion":"2","x":242.0,"y":101.0,"width":73.0,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"input":10.0,"output":10.0}'
19+
jsonDatas: '{"GUID":"3327402b-5ad1-4564-af17-2025a850d4bb","computeOrder":26,"position":{"serializedVersion":"2","x":242.0,"y":101.0,"width":73.0,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"input":10.0,"output":10.0}'
2020
- type: MultiAddNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
21-
jsonDatas: '{"GUID":"9a1c513a-65bc-4906-83b7-4a7b66699064","computeOrder":29,"position":{"serializedVersion":"2","x":402.0,"y":95.0,"width":132.0,"height":114.0},"expanded":false,"debug":true,"nodeLock":false,"output":10.0}'
21+
jsonDatas: '{"GUID":"9a1c513a-65bc-4906-83b7-4a7b66699064","computeOrder":27,"position":{"serializedVersion":"2","x":402.0,"y":95.0,"width":132.0,"height":114.0},"expanded":false,"debug":true,"nodeLock":false,"output":10.0}'
2222
- type: SubNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
23-
jsonDatas: '{"GUID":"95bce55f-47d9-4c5d-bdcd-1f5bbbf57d1b","computeOrder":27,"position":{"serializedVersion":"2","x":699.0,"y":169.0,"width":113.0,"height":114.0},"expanded":false,"debug":true,"nodeLock":false,"inputA":0.0,"inputB":140.0,"output":-140.0}'
23+
jsonDatas: '{"GUID":"95bce55f-47d9-4c5d-bdcd-1f5bbbf57d1b","computeOrder":25,"position":{"serializedVersion":"2","x":699.0,"y":169.0,"width":113.0,"height":114.0},"expanded":false,"debug":true,"nodeLock":false,"inputA":0.0,"inputB":140.0,"output":-140.0}'
2424
- type: PrintNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
25-
jsonDatas: '{"GUID":"42eb43b8-ac7e-4f38-b49b-26ba1bc42732","computeOrder":25,"position":{"serializedVersion":"2","x":954.0,"y":219.0,"width":112.0,"height":105.0},"expanded":false,"debug":true,"nodeLock":false}'
25+
jsonDatas: '{"GUID":"42eb43b8-ac7e-4f38-b49b-26ba1bc42732","computeOrder":23,"position":{"serializedVersion":"2","x":954.0,"y":219.0,"width":112.0,"height":105.0},"expanded":false,"debug":true,"nodeLock":false}'
2626
- type: PrintNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
27-
jsonDatas: '{"GUID":"6398414c-0e45-44d7-a62f-3267016dbca1","computeOrder":24,"position":{"serializedVersion":"2","x":337.5,"y":-129.0,"width":74.0,"height":90.0},"expanded":false,"debug":false,"nodeLock":false}'
27+
jsonDatas: '{"GUID":"6398414c-0e45-44d7-a62f-3267016dbca1","computeOrder":22,"position":{"serializedVersion":"2","x":337.5,"y":-129.0,"width":74.0,"height":90.0},"expanded":false,"debug":false,"nodeLock":false}'
2828
- type: PrefabNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
29-
jsonDatas: '{"GUID":"ffd2cf4b-87c3-42a6-9822-04bae7a5700b","computeOrder":22,"position":{"serializedVersion":"2","x":1066.0,"y":344.0,"width":136.0,"height":225.0},"expanded":true,"debug":false,"nodeLock":false,"output":{"fileID":1636575971871760,"guid":"f78111bdbdeaf6644806fc49fcaf1d30","type":3}}'
29+
jsonDatas: '{"GUID":"ffd2cf4b-87c3-42a6-9822-04bae7a5700b","computeOrder":20,"position":{"serializedVersion":"2","x":1066.0,"y":344.0,"width":136.0,"height":225.0},"expanded":true,"debug":false,"nodeLock":false,"output":{"fileID":1636575971871760,"guid":"f78111bdbdeaf6644806fc49fcaf1d30","type":3}}'
3030
- type: FloatNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
31-
jsonDatas: '{"GUID":"e99da4fb-6a11-4b19-8594-f37f55d96114","computeOrder":21,"position":{"serializedVersion":"2","x":931.2900390625,"y":381.58001708984377,"width":136.0,"height":101.00001525878906},"expanded":true,"debug":false,"nodeLock":false,"input":140.0,"output":140.0}'
31+
jsonDatas: '{"GUID":"e99da4fb-6a11-4b19-8594-f37f55d96114","computeOrder":19,"position":{"serializedVersion":"2","x":931.2900390625,"y":381.58001708984377,"width":136.0,"height":101.00001525878906},"expanded":true,"debug":false,"nodeLock":false,"input":140.0,"output":140.0}'
3232
- type: TextNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
33-
jsonDatas: '{"GUID":"ab7c80f0-51fd-401a-9d67-0b6543025f87","computeOrder":16,"position":{"serializedVersion":"2","x":-184.46311950683595,"y":143.2401123046875,"width":240.0,"height":96.0},"expanded":false,"debug":false,"nodeLock":false,"output":"Hello
33+
jsonDatas: '{"GUID":"ab7c80f0-51fd-401a-9d67-0b6543025f87","computeOrder":14,"position":{"serializedVersion":"2","x":-184.46311950683595,"y":143.2401123046875,"width":240.0,"height":96.0},"expanded":false,"debug":false,"nodeLock":false,"output":"Hello
3434
World"}'
3535
- type: PrintNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
36-
jsonDatas: '{"GUID":"e277d5c6-386e-4f6b-bd63-af2353f3e4d8","computeOrder":20,"position":{"serializedVersion":"2","x":87.17012023925781,"y":116.09642028808594,"width":74.0,"height":90.0},"expanded":false,"debug":false,"nodeLock":false}'
36+
jsonDatas: '{"GUID":"e277d5c6-386e-4f6b-bd63-af2353f3e4d8","computeOrder":18,"position":{"serializedVersion":"2","x":87.17012023925781,"y":116.09642028808594,"width":74.0,"height":90.0},"expanded":false,"debug":false,"nodeLock":false}'
3737
- type: FloatNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
38-
jsonDatas: '{"GUID":"34e17a0c-9187-47eb-a21c-d105ee6ed911","computeOrder":26,"position":{"serializedVersion":"2","x":501.0,"y":282.0,"width":105.0,"height":101.0},"expanded":true,"debug":false,"nodeLock":false,"input":140.0,"output":140.0}'
38+
jsonDatas: '{"GUID":"34e17a0c-9187-47eb-a21c-d105ee6ed911","computeOrder":24,"position":{"serializedVersion":"2","x":501.0,"y":282.0,"width":105.0,"height":101.0},"expanded":true,"debug":false,"nodeLock":false,"input":140.0,"output":140.0}'
3939
- type: SettingsNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
40-
jsonDatas: '{"GUID":"b14b2e69-b835-4b73-ae8e-6f7f986575bb","computeOrder":18,"position":{"serializedVersion":"2","x":-66.125244140625,"y":411.890625,"width":143.0,"height":91.0},"expanded":true,"debug":false,"nodeLock":false,"setting":0,"input":0.0,"output":0.0}'
40+
jsonDatas: '{"GUID":"b14b2e69-b835-4b73-ae8e-6f7f986575bb","computeOrder":16,"position":{"serializedVersion":"2","x":-66.125244140625,"y":411.890625,"width":143.0,"height":91.0},"expanded":true,"debug":false,"nodeLock":false,"setting":0,"input":0.0,"output":0.0}'
4141
- type: PrintNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
42-
jsonDatas: '{"GUID":"42bd42f7-7c33-4d6c-8cff-24e051b0e644","computeOrder":17,"position":{"serializedVersion":"2","x":88.17012786865235,"y":211.09640502929688,"width":74.0,"height":90.0},"expanded":false,"debug":false,"nodeLock":false}'
42+
jsonDatas: '{"GUID":"42bd42f7-7c33-4d6c-8cff-24e051b0e644","computeOrder":15,"position":{"serializedVersion":"2","x":88.17012786865235,"y":211.09640502929688,"width":74.0,"height":90.0},"expanded":false,"debug":false,"nodeLock":false}'
4343
- type: FloatNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
44-
jsonDatas: '{"GUID":"c647797a-972a-442d-86fe-327825c1fe11","computeOrder":15,"position":{"serializedVersion":"2","x":347.8111267089844,"y":446.6003723144531,"width":108.00000762939453,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"input":0.0,"output":0.0}'
44+
jsonDatas: '{"GUID":"c647797a-972a-442d-86fe-327825c1fe11","computeOrder":13,"position":{"serializedVersion":"2","x":347.8111267089844,"y":446.6003723144531,"width":108.00000762939453,"height":101.0},"expanded":false,"debug":false,"nodeLock":false,"input":0.0,"output":0.0}'
4545
- type: RelayNode, com.alelievr.NodeGraphProcessor.Runtime, Version=0.0.0.0, Culture=neutral,
4646
PublicKeyToken=null
47-
jsonDatas: '{"GUID":"e896146f-3f81-490d-85e4-18ffdb60f87c","computeOrder":14,"position":{"serializedVersion":"2","x":174.81114196777345,"y":426.6003723144531,"width":200.0,"height":200.0},"expanded":false,"debug":false,"nodeLock":false,"unpackOutput":false,"inputEdgeCount":0}'
47+
jsonDatas: '{"GUID":"e896146f-3f81-490d-85e4-18ffdb60f87c","computeOrder":12,"position":{"serializedVersion":"2","x":174.81114196777345,"y":426.6003723144531,"width":200.0,"height":200.0},"expanded":false,"debug":false,"nodeLock":false,"unpackOutput":false,"inputEdgeCount":0}'
4848
- type: CustomPortData, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
49-
jsonDatas: '{"GUID":"acf42c0b-dc50-476f-8d14-b9e756fd1e2d","computeOrder":12,"position":{"serializedVersion":"2","x":605.9840087890625,"y":456.5184020996094,"width":115.0,"height":149.0},"expanded":false,"debug":false,"nodeLock":false,"output":0.0}'
49+
jsonDatas: '{"GUID":"acf42c0b-dc50-476f-8d14-b9e756fd1e2d","computeOrder":10,"position":{"serializedVersion":"2","x":605.9840087890625,"y":456.5184020996094,"width":115.0,"height":149.0},"expanded":false,"debug":false,"nodeLock":false,"output":0.0}'
5050
- type: PrintNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
51-
jsonDatas: '{"GUID":"ea0aaa89-4654-402b-9518-0c8d3b0a0be7","computeOrder":13,"position":{"serializedVersion":"2","x":1018.04345703125,"y":633.7391357421875,"width":74.0,"height":91.00000762939453},"expanded":false,"debug":false,"nodeLock":false}'
51+
jsonDatas: '{"GUID":"ea0aaa89-4654-402b-9518-0c8d3b0a0be7","computeOrder":11,"position":{"serializedVersion":"2","x":850.1000366210938,"y":509.8000183105469,"width":74.00001525878906,"height":90.0},"expanded":false,"debug":false,"nodeLock":false}'
5252
- type: PortConnectionTests, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
5353
PublicKeyToken=null
5454
jsonDatas: '{"GUID":"d0c72054-62bf-409c-a49f-4230da5526d5","computeOrder":1,"position":{"serializedVersion":"2","x":1248.0,"y":637.0,"width":127.0,"height":245.0},"expanded":true,"debug":false,"nodeLock":false,"padding":0.0}'
5555
- type: ColorNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
56-
jsonDatas: '{"GUID":"9df78625-a020-4242-b1f2-00dab72837f0","computeOrder":11,"position":{"serializedVersion":"2","x":672.1738891601563,"y":765.478271484375,"width":200.0,"height":97.0},"expanded":true,"debug":false,"nodeLock":false,"color":{"r":0.0,"g":0.0,"b":0.0,"a":0.0}}'
57-
- type: PrintNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
58-
jsonDatas: '{"GUID":"10220ed8-c1b3-40db-9feb-6e268e4fdf8a","computeOrder":10,"position":{"serializedVersion":"2","x":1294.4532470703125,"y":1180.1376953125,"width":74.0,"height":90.0},"expanded":false,"debug":false,"nodeLock":false}'
59-
- type: PrintNode, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
60-
jsonDatas: '{"GUID":"4587a29a-a45e-4451-a08c-54c49866a9fc","computeOrder":9,"position":{"serializedVersion":"2","x":1314.4532470703125,"y":1200.1376953125,"width":74.0,"height":90.0},"expanded":false,"debug":false,"nodeLock":false}'
56+
jsonDatas: '{"GUID":"9df78625-a020-4242-b1f2-00dab72837f0","computeOrder":9,"position":{"serializedVersion":"2","x":672.1738891601563,"y":765.478271484375,"width":200.0,"height":97.0},"expanded":true,"debug":false,"nodeLock":false,"color":{"r":0.0,"g":0.0,"b":0.0,"a":0.0}}'
6157
- type: PortConnectionTests, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
6258
PublicKeyToken=null
6359
jsonDatas: '{"GUID":"0bb81f44-19ac-4b15-a7a6-f0f319a6d5c7","computeOrder":8,"position":{"serializedVersion":"2","x":1584.0,"y":639.0,"width":178.0,"height":264.0},"expanded":true,"debug":false,"nodeLock":false,"padding":0.0}'
@@ -110,14 +106,6 @@ MonoBehaviour:
110106
outputFieldName: output
111107
inputPortIdentifier:
112108
outputPortIdentifier: 0
113-
- GUID: 44c41d32-1880-4d24-9044-a16a34eb5979
114-
owner: {fileID: 11400000}
115-
inputNodeGUID: ea0aaa89-4654-402b-9518-0c8d3b0a0be7
116-
outputNodeGUID: acf42c0b-dc50-476f-8d14-b9e756fd1e2d
117-
inputFieldName: obj
118-
outputFieldName: output
119-
inputPortIdentifier:
120-
outputPortIdentifier:
121109
- GUID: 46622e62-ce25-420f-8a6f-3211fb51fdac
122110
owner: {fileID: 11400000}
123111
inputNodeGUID: 0bb81f44-19ac-4b15-a7a6-f0f319a6d5c7
@@ -174,6 +162,14 @@ MonoBehaviour:
174162
outputFieldName: outputs
175163
inputPortIdentifier: 2
176164
outputPortIdentifier: 2
165+
- GUID: d7e884aa-c37b-434e-94fa-c583d207d461
166+
owner: {fileID: 11400000}
167+
inputNodeGUID: ea0aaa89-4654-402b-9518-0c8d3b0a0be7
168+
outputNodeGUID: acf42c0b-dc50-476f-8d14-b9e756fd1e2d
169+
inputFieldName: obj
170+
outputFieldName: output
171+
inputPortIdentifier:
172+
outputPortIdentifier:
177173
groups:
178174
- title: New Comment Block
179175
color: {r: 0, g: 0, b: 0, a: 0}
@@ -256,8 +252,8 @@ MonoBehaviour:
256252
input: 1
257253
settings:
258254
isHidden: 0
259-
position: {x: -225, y: -209, z: 0}
260-
scale: {x: 0.65751624, y: 0.65751624, z: 1}
255+
position: {x: 55, y: -62, z: 0}
256+
scale: {x: 0.8695652, y: 0.8695652, z: 1}
261257
references:
262258
version: 1
263259
00000000:

0 commit comments

Comments
 (0)