在每一帧中,我始终执行以下过程: Three.js渲染场景→tensorflow.js预测→后处理 由于tensorflow.js的预测时间约为40毫秒,它将影响下一帧渲染,从而导致帧速率显着降低(通常仅为fps:10)。
我希望three.js保持渲染每一帧。 tensorflow.js不一定在每一帧都保持预测,但它不会影响three.js渲染。 如何解决这个问题?
我以前尝试使用webworker,但是我发现webworker仅支持CPU处理,并且在导入tensorflow.js库(正常情况下可以导入0.10.3,但不能导入0.12)时webworker会出现问题是很奇怪的.5或更高版本。我需要使用loadFrozenModel函数,因此它必须在0.12.5或更高版本中。
'''
renderer_model_direct.render(scene, camera_model);
predict(model, INPUT_NODE_NAME, OUTPUT_NODE_NAME);//predict an image(size:512*512*3,it consumes about 40ms)
renderer.render(postScene_hasModel, postCamera_hasModel);//This code can only be executed after the prediction is over, so there will be problems.
'''