Build the renderer.onError handler: each uncaptured GPU error goes to
log.error(Modules.RENDERER, …) instead of three's bare console error().
A validation error raised by a pipeline or bind group usually fires on EVERY
frame, which would bury the console at 60 lines a second. So the first
GPU_ERROR_REPEAT_LIMIT occurrences of each distinct message are
logged, followed by one note that further copies are suppressed; after
GPU_ERROR_DISTINCT_LIMIT distinct messages a single note stops all
further reporting. The first occurrence is what carries the information;
an occurrence count is not worth the console it costs.
Build the
renderer.onErrorhandler: each uncaptured GPU error goes tolog.error(Modules.RENDERER, …)instead of three's bare consoleerror().A validation error raised by a pipeline or bind group usually fires on EVERY frame, which would bury the console at 60 lines a second. So the first GPU_ERROR_REPEAT_LIMIT occurrences of each distinct message are logged, followed by one note that further copies are suppressed; after GPU_ERROR_DISTINCT_LIMIT distinct messages a single note stops all further reporting. The first occurrence is what carries the information; an occurrence count is not worth the console it costs.