level 4
据我所知,GMS的动作有比较严格的执行顺序,不太可能允许多线程。甚至有些制作人连不同instance执行同一个动作的先后顺序都要抠明白(话说验证结果似乎是各代版本的答案有差异)。据说有些插件能实现多线程效果,如果你能接受“有一部分执行过程不受自己控制”、“未来移植困难”、“出了问题可以寻求帮助的范围缩小”、“插件不好找”、“可能不适用于自己制作的内容”这些问题的话,可以试试看。
如果题主的核心需求是“解决大量计算的卡顿问题”,而不是前进了一步的“怎样开启多线程”,咱还是有一个可能的解决方案的,那就是启用shader,把计算内容从CPU转移到GPU。这个方案需要几个前提:
0、计算可以拆分至并行进行,而不是必须递推或更复杂的(比如递归);
1、计算是直接进行,不需要过多复杂的逻辑判定;
2、计算结果同样是分布存储的,或者说可以和“图片”这种形式进行对应,而不是“汇总到一个结果”;
3、机器上有可以做这件事的GPU……你用4090啊,那没事了;
2024年04月06日 01点04分



