@leafer/renderer 1.9.4 → 1.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/src/Renderer.ts +14 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leafer/renderer",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.5",
|
|
4
4
|
"description": "@leafer/renderer",
|
|
5
5
|
"author": "Chao (Leafer) Wan",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
"leaferjs"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@leafer/core": "1.9.
|
|
25
|
+
"@leafer/core": "1.9.5"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@leafer/interface": "1.9.
|
|
28
|
+
"@leafer/interface": "1.9.5"
|
|
29
29
|
}
|
|
30
30
|
}
|
package/src/Renderer.ts
CHANGED
|
@@ -23,7 +23,7 @@ export class Renderer implements IRenderer {
|
|
|
23
23
|
|
|
24
24
|
public config: IRendererConfig = {
|
|
25
25
|
usePartRender: true,
|
|
26
|
-
maxFPS:
|
|
26
|
+
maxFPS: 120
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
static clipSpread = 10
|
|
@@ -226,14 +226,22 @@ export class Renderer implements IRenderer {
|
|
|
226
226
|
if (target.parentApp) return target.parentApp.requestRender(false) // App 模式下统一走 app 控制渲染帧
|
|
227
227
|
|
|
228
228
|
const requestTime = this.requestTime = Date.now()
|
|
229
|
-
Platform.requestRender(() => {
|
|
230
229
|
|
|
231
|
-
|
|
230
|
+
const render = () => {
|
|
231
|
+
|
|
232
|
+
const nowFPS = 1000 / (Date.now() - requestTime)
|
|
233
|
+
|
|
234
|
+
const { maxFPS } = this.config
|
|
235
|
+
if (maxFPS && nowFPS > maxFPS - 0.5) return Platform.requestRender(render)
|
|
236
|
+
|
|
237
|
+
this.FPS = Math.min(120, Math.ceil(nowFPS))
|
|
232
238
|
this.requestTime = 0
|
|
233
239
|
|
|
234
240
|
this.checkRender()
|
|
235
241
|
|
|
236
|
-
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
Platform.requestRender(render)
|
|
237
245
|
}
|
|
238
246
|
|
|
239
247
|
protected __onResize(e: ResizeEvent): void {
|
|
@@ -291,7 +299,8 @@ export class Renderer implements IRenderer {
|
|
|
291
299
|
if (this.target) {
|
|
292
300
|
this.stop()
|
|
293
301
|
this.__removeListenEvents()
|
|
294
|
-
this.
|
|
302
|
+
this.config = {}
|
|
303
|
+
this.target = this.canvas = null
|
|
295
304
|
}
|
|
296
305
|
}
|
|
297
306
|
}
|