7.2.1 • Published 1 month ago

r3f-perf v7.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

npm npm

R3F-Perf

Changelog

Easily monitor the performances of your @react-three/fiber application.

Installation

yarn add --dev r3f-perf

Options

logsPerSecond?: 10, // Refresh rate of the logs
antialias?: true, // Take a bit more performances but render the text with antialiasing
overClock?: false, // Disable the limitation of the monitor refresh rate for the fps
deepAnalyze?: false, // More detailed informations about gl programs
showGraph?: true // show the graphs
minimal?: false // condensed version with the most important informations (gpu/memory/fps/custom data)
customData?: {
  value: 0, // initial value,
  name: '', // name to show
  round: 2, // precision of the float
  info: '', // additional information about the data (fps/ms for instance)
}
matrixUpdate?: false // count the number of time matrixWorldUpdate is called per frame
chart?: {
  hz: 60, // graphs refresh frequency parameter
  length: 120, // number of values shown on the monitor
}
colorBlind?: false // Color blind colors for accessibility
className?: '' // override CSS class
style?: {} // override style
position?: 'top-right'|'top-left'|'bottom-right'|'bottom-left' // quickly set the position, default is top-right

Usage

import { Canvas } from '@react-three/fiber'
import { Perf } from 'r3f-perf'

function App() {
  return (
    <Canvas>
      <Perf />
    </Canvas>
  )
}

Usage without interface : PerfHeadless

Codesandbox Example

import { Canvas } from '@react-three/fiber'
import { PerfHeadless, usePerf } from 'r3f-perf'

const PerfHook = () => {
  // getPerf() is also available for non-reactive way
  const [gl, log, getReport] = usePerf((s) => s[(s.gl, s.log, s.getReport)])
  console.log(gl, log, getReport())
  return <PerfHeadless />
}

function App() {
  return (
    <Canvas>
      <PerfHook />
    </Canvas>
  )
}

Custom Data

import { setCustomData, getCustomData } from 'r3f-perf'

const UpdateCustomData = () => {
  // recommended to throttle to 1sec for readability
  useFrame(() => {
    setCustomData(55 + Math.random() * 5) // will update the panel with the current information
  })
  return null
}

SSR

The tool work with any server side rendering framework. You can try with Next and @react-three/fiber using this starter : https://github.com/pmndrs/react-three-next

Maintainers :

7.2.1

1 month ago

7.2.0

1 month ago

7.0.0

1 year ago

7.0.1

1 year ago

6.7.0

1 year ago

7.1.2

1 year ago

7.1.1

1 year ago

7.1.0

1 year ago

7.0.0-beta.0

1 year ago

7.0.0-beta.1

1 year ago

6.6.1

1 year ago

6.6.0

1 year ago

6.6.3

1 year ago

6.6.2

1 year ago

6.5.0

2 years ago

6.3.0

2 years ago

6.4.3

2 years ago

6.4.2

2 years ago

6.4.4

2 years ago

6.4.1

2 years ago

6.4.0

2 years ago

6.1.0

2 years ago

6.2.5

2 years ago

6.2.4

2 years ago

6.2.6

2 years ago

6.2.1

2 years ago

6.2.0

2 years ago

6.2.3

2 years ago

6.2.2

2 years ago

5.4.6

2 years ago

5.4.5

2 years ago

5.4.4

2 years ago

5.5.0

2 years ago

6.0.1

2 years ago

6.0.0

2 years ago

5.4.3

2 years ago

5.3.2

2 years ago

5.3.1

2 years ago

5.3.0

2 years ago

5.1.1

2 years ago

5.1.0

2 years ago

5.4.2

2 years ago

5.4.1

2 years ago

5.4.0

2 years ago

5.0.3

2 years ago

5.2.0

2 years ago

5.0.2

2 years ago

5.0.1

2 years ago

5.0.0

2 years ago

4.9.0

3 years ago

4.9.1

3 years ago

4.8.1

3 years ago

4.8.0

3 years ago

4.7.3

3 years ago

4.7.2

3 years ago

4.7.1

3 years ago

4.6.0

3 years ago

4.7.0

3 years ago

4.4.0

3 years ago

4.2.1-alpha

3 years ago

4.5.0

3 years ago

4.3.0

3 years ago

4.0.0-alpha

3 years ago

4.0.0

3 years ago

4.1.0

3 years ago

4.1.1

3 years ago

3.4.0

3 years ago

3.3.0

3 years ago

2.2.0

3 years ago

3.0.4

3 years ago

3.0.3

3 years ago

3.2.0

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.5

3 years ago

3.0.0

3 years ago

3.1.3

3 years ago

3.1.2

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

2.1.0

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.4

3 years ago

2.0.0-beta

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.1.1-beta

3 years ago

1.2.0

3 years ago

1.1.0-beta

3 years ago

0.91.0

3 years ago

1.0.0-beta.12

3 years ago

0.90.0

3 years ago

1.0.0-beta.2

3 years ago

1.0.0-beta.3

3 years ago

1.0.0-beta.4

3 years ago

1.0.0-beta.5

3 years ago

1.0.0-beta.1

3 years ago

1.0.0-beta.11

3 years ago

1.0.0-beta.10

3 years ago

1.0.0-beta.6

3 years ago

1.0.0-beta.7

3 years ago

1.0.0-beta

3 years ago

1.0.0-beta.8

3 years ago

1.0.0-beta.9

3 years ago

0.83.1

3 years ago

0.83.0

3 years ago

0.81.0

3 years ago

0.82.0

3 years ago

0.79.0

3 years ago

0.77.0

3 years ago

0.76.0

3 years ago

0.76.1

3 years ago

0.75.1

3 years ago

0.75.0

3 years ago

0.7.0

3 years ago

0.6.1

3 years ago

0.6.0

3 years ago

0.5.1

3 years ago

0.5.0

3 years ago

0.4.0

3 years ago

0.3.2

3 years ago

0.3.0

3 years ago

0.3.1

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago