

WebGL2: Hardware accelerated but at reduced performance WebGL: Hardware accelerated but at reduced performance user-data-dir=/var/www/project-generator/var/chrome-user-dataĪnd here is headless chrome gpu config (which is extemely slow) Graphics Feature StatusĬompositing: Software only. disable-component-extensions-with-background-pages enable-features=NetworkService,NetworkServiceInProcess home/wojtas/projects/project-generator/node_modules/puppeteer/.local-Ĭhromium/linux-756035/chrome-linux/chrome Rasterization: Hardware accelerated on all pages Hardware Protected Video Decode: Unavailable Out-of-process Rasterization: Hardware accelerated Here is my non-headless chrome gpu config (where page rendering is fast): Canvas: Hardware acceleratedįlash Stage3D Baseline profile: Hardware accelerated

Is there any way to run headless chrome/chromium with puppeteer using actual gpu (especialy for gpu-compositing), or is there any way to print page to pdf in non-headless mode? Which is CPU-based implementation of the Vulkan and OpenGL ES graphics APIs. Only significant difference i've noticed is that, when runing chrome headlessly, puppeteer appends by itself -disable-gpu-compositing and -allow-pre-commit-input which i believe are responsible for dramatic performace dropdown.Īlso, in non-headless mode chrome sees 2 gpu units: GPU0 VENDOR= 0x10de, DEVICE=0x1d01 *ACTIVE*Īnd in headless mode only one: GPU0 VENDOR= 0xffff, DEVICE=0xffff *ACTIVE* After days of investigating and tweaking I came to conclusion that this must be issue with page compositing process.īelow are dumps from chrome://gpu page in headless and non-headless modes. I'm trying to print html to pdf using headless chromium (using puppeteer) and everything works fine except if html contains large png images (over 10.000x10.000px) the whole process of rendering page takes extremely long (up to half an hour, but if using non-headless mode it takes only about 10 seconds).
