[32] Lister's canvas doesn't refresh with some animated GIFs
Moderators: Hacker, petermad, Stefan2, white
[32] Lister's canvas doesn't refresh with some animated GIFs
Here's the screenshot: http://www.imagebam.com/image/3cfcd2151729266
Link to original file: http://www.imagebam.com/image/913ae6151728916
This bug is reproduced in all betas of TC 8.0 x32. As MVV suggested on russian forum, making of double bufferization can help in this case and also with flickering.
Link to original file: http://www.imagebam.com/image/913ae6151728916
This bug is reproduced in all betas of TC 8.0 x32. As MVV suggested on russian forum, making of double bufferization can help in this case and also with flickering.
The past was yesterday...
TC 9.50ß6 64 Bit, #116718 Personal licence
TC 9.50ß6 64 Bit, #116718 Personal licence
- ghisler(Author)
- Site Admin
- Posts: 50479
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Confirmed with 32-bit only, thanks. The problem is that TC doesn't clear the background to avoid flickering, but the image seems to contain transparent parts...
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Both x32 and x64 TC have problems here:
x32: fast drawing w/o flickering, but problems with transparent animations,
x64: drawing with erasing and MEGA flickering, but transparent animations are drawn correctly (example)
Christian, is it hard to realize double-buffering here? I mean that:
1. You fill TBitmap in memory with lister background color,
2. You draw needed frame onto that bitmap
3. You copy entire bitmap contents to lister window
4. Repeat from step 1 with next frame after delay
You DON'T need to erase Lister window in that case (I mean that window part where you draw bitmap), just draw bitmap over! And you won't see any flickering or overlays.
x32: fast drawing w/o flickering, but problems with transparent animations,
x64: drawing with erasing and MEGA flickering, but transparent animations are drawn correctly (example)
Christian, is it hard to realize double-buffering here? I mean that:
1. You fill TBitmap in memory with lister background color,
2. You draw needed frame onto that bitmap
3. You copy entire bitmap contents to lister window
4. Repeat from step 1 with next frame after delay
You DON'T need to erase Lister window in that case (I mean that window part where you draw bitmap), just draw bitmap over! And you won't see any flickering or overlays.
- ghisler(Author)
- Site Admin
- Posts: 50479
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Well, I could try that, but it would require twice the memory.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 50479
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
I have added this now to beta 4, please let me know what you think!
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Confirm the bug and fix.
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
Using TC 11.03 / Win10 x64
Using TC 11.03 / Win10 x64
- ghisler(Author)
- Site Admin
- Posts: 50479
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
- ghisler(Author)
- Site Admin
- Posts: 50479
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact: