You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think having 2 framebuffers, one static with the first (0) frame and one dynamic with current one currently drawing on GL texture would reduce the CPU usage drastically. With current implementation having full screen animated GIFs is not possible, CPU usage is too high and most of the work is done on frame 0.
The text was updated successfully, but these errors were encountered:
A probably even better solution for OpenGL would be keeping the last key frame (0 or whatever) in the framebuffer and then when doing a partial rendering in render frame use GlTexSubImage2D which can replace only a region of the image, this would allow to work directly on the GL FB.
So, replace blitNormal function with something that uses the GlTexSubImage2D to replace pixels / regions would be extremely faster, OR, if this is too complex, returning the dirty region would also improve things a LOT and its easier, so "seek" will basically set info->dirtyRegion rect to something and then drawFrameGL will use GlTexImage2D if rect is null or GlTexSubImage2D if rect contains a region. This should be quite easy to do and would make things probably 3-4 times faster, maybe more.
I think having 2 framebuffers, one static with the first (0) frame and one dynamic with current one currently drawing on GL texture would reduce the CPU usage drastically. With current implementation having full screen animated GIFs is not possible, CPU usage is too high and most of the work is done on frame 0.
The text was updated successfully, but these errors were encountered: