这是一个类的方法,调用该方法的ti.kernel在while gui.running中执行,其中我将ret = ti.Vector([0 for _ in range(100)])的100改为k时会出现报错
另外,我想知道,从显示窗口到窗口内容开始显示这段时间程序在做什么
我只定义了一个实例,当参数较大时会出现程序未响应情况,只有窗口,参数变大从窗口出现到呈现画面的时间会变长,但是帧数却不低(50fps以上)请问,可能是什么原因?
Vector不是局部数组,Vector里每个都是单独的寄存器元素,不建议创建超过4个元素的Vector。
建议创建一个全局field来存储,如果每个线程都需要一个100的局部数组,那么就:
ret = ti.field(shape=(n, 100), dt=ti.f32)
其中n是线程数量。
非常感谢,这样两个问题都解决了