gre / diaporama

image/video/content slideshow engine providing high quality animation effects including Kenburns Effect and GLSL Transitions.
http://greweb.me/diaporama/
ISC License
797 stars 104 forks source link

Find ways to only use one webgl canvas #34

Closed gre closed 9 years ago

gre commented 9 years ago

The use of KenBurns.WebGL and glsl-transition-core force to use different canvases (3) to perform the diaporama. This doesn't scale because WebGL have limited simultaneous contexts.

We should probably use framebuffers instead.

gre commented 9 years ago

WIP using http://stack.gl/packages/#stackgl/gl-fbo

AVVS commented 9 years ago

let me know when its ready - would be glad to test it

gre commented 9 years ago

sure :-) It might take me days but the effort worth it I think, the current implement relying on different canvases sucks and using one same WebGL context might improve perfs alot.

gre commented 9 years ago

work in great progress in branch refactoring/fbo.

on Chrome / Macbook Pro (2,6 GHz Intel Core i7): benchmark is showing performance improvement from 52 FPS to 58 FPS on a 2048 x 1024 canvas using images with various dimensions (from 600 x 400 to 3600 x 2700). Besides the performance, the second advantage is that there is now only one webgl context which allows to create more diaporama (because we can't have so much simultaneous canvas running webgl, there is a limit where the browser will start destroying contexts).

I still need to polish things and have not implemented yet the canvas2d support.

gre commented 9 years ago

released v1.5.x ready to be tested