R173 - Resolve Timestamps Error Message

I converted several of my WebGPU programs to r173.

They all work fine, except that the performance monitor did not indicate any GPU activity and had this error message:

WebGPUTimestampQueryPool [compute] Maximum number of queries exceeded.

Programs that used by Ocean Module had 2 notices, others had 1 notice.

I looked at the discussions about the r173 changes and one discussion suggesting that you could add a “resolveTimestamps” command after the render command. In response to prior error messages regarding loading issues, I am using this render command:

renderer.renderAsync(scene, camera);

The example in the discussion showed the “resolveTimestamps” command used in this context:

await renderer.renderAsync( scene, camera );
renderer.resolveTimestampsAsync( THREE.TimestampQuery.RENDER );

So I added that “resolveTimestamps” command after my render command and it partly solved the problem. The performance monitor indicated GPU activity and one of the error notices was eliminated. The programs that used the Ocean Module still had 1 error notice.

The discussions also show the "resolveTimestamps command used in this context:

await renderer.computeAsync( computeParticles );
renderer.resolveTimestampsAsync( THREE.TimestampQuery.COMPUTE );

As you can see here, the Ocean Module makes heavy use of the computeAsync (without the await) command.

So the question is apparently, where should I place the “resolveTimestamps” command in that module?

I assume that you would not include the command in the initialization, which is only run once and includes only 2 examples of the computeAsync command. Instead, I assume that the command belongs somewhere in the much shorter update section (lines 579 to 612) which includes 9 examples of the computeAsync command, 3 of which are within loops. But where should I put it?

And, just out of curiosity, what is the “Timestamps” telling me?

I inserted the “resolveTimestamps” command after each of the loops that contained the computerAsync command and that solved the problem. Also the CPT activity tracker started working. Here is my most complex program which uses the Ocean Module.