W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
離屏渲染允許你以位圖的方式來獲取 BrowserWindow
中的內容,所以它可以在任何地方被渲染,例如在3D場景中的紋理。 Electron中的離屏渲染使用與 Chromium Embedded Framework 項目類似的方法。
注意:
GPU加速渲染意味著使用GPU用于合成。 這也就意味著幀必須從GPU拷貝過來,從而需求更多的資源,因此這會比軟件輸出設備更慢。 這種模式的優(yōu)點是支持WebGL和3D CSS動畫.
此模式使用軟件輸出設備在 CPU 中渲染,因此幀 生成的速度要快得多。 因此,此模式優(yōu)先于 GPU 加速模式。
要啟用此模式,必須通過調用 app.disableHardwareAcceleration()
API 來禁用GPU加速。
const { app, BrowserWindow } = require('electron')
const fs = require('fs')
const path = require('path')
app.disableHardwareAcceleration()
let win
app.whenReady().then(() => {
win = new BrowserWindow({ webPreferences: { offscreen: true } })
win.loadURL('https://github.com')
win.webContents.on('paint', (event, dirty, image) => {
fs.writeFileSync('ex.png', image.toPNG())
})
win.webContents.setFrameRate(60)
console.log(`The screenshot has been successfully saved to ${path.join(process.cwd(), 'ex.png')}`)
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
DOCS/FIDDLES/FEATURES/OFFSCREEN-RENDERING (22.0.3)
在運行Electron應用后,進入你的應用的工作目錄,你會在里面找到渲染的圖片。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: