-
Notifications
You must be signed in to change notification settings - Fork 313
Closed
Description
Expose the rendering statistics object, which gives us some stats on what happened during the last frame render.
Perhaps we can use this to help adaptively configure the FastNavPlugin
, like below?
import {
Viewer,
FastNavPlugin,
stats,
} from "@xeokit/xeokit-sdk/dist/xeokit-sdk.es.js";
const viewer = new Viewer({ canvasId: "myCanvas" });
//...
const dynamicEdgesMaxDrawCount = 5; // FastNavPlugin enables dynamic edges when xeokit draw count is below this
const dynamicFullResolutionMaxDrawCount = 15; // FastNavPlugin enables dynamic full canvas resolution when xeokit draw count is below this
const fastNavPlugin = new FastNavPlugin(viewer, {
dynamicEdges: false,
dynamicSAO: false,
dynamicPBR: false,
dynamicTransparent: true,
dynamicCanvasResolution: false,
dynamicCanvasResolutionScale: 0.6
});
viewer.scene.on("rendered", ()=> {
const fastNavPlugin = this._fastNavPlugin;
fastNavPlugin.dynamicEdges = ((stats.frame.drawElements + stats.frame.drawArrays) < dynamicEdgesMaxDrawCount);
fastNavPlugin.dynamicCanvasResolution = ((stats.frame.drawElements + stats.frame.drawArrays) > dynamicFullResolutionMaxDrawCount);
});
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request