https://bugs.kde.org/show_bug.cgi?id=399259
Bug ID: 399259 Summary: "On-disk" Animation Cache storage backend breaks animation playback Product: krita Version: 4.1.3 Platform: Archlinux Packages OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: Animation Assignee: krita-bugs-n...@kde.org Reporter: kiwiblaster...@gmail.com Target Milestone: --- SUMMARY After recently attempting to create a new animation, I noticed that the playback would at times not reflect changes made in the key frames of a given layer despite those changes being visible by "stepping" through with the frame-by-frame controls. The results were variable. At first, it seemed that changing the "End" frame value would cause the problem, though later testing demonstrated that this was inconsistent. The behavior was as follows: the first frame would display, then it would iterate through several (though, not all and sometimes none) of the frames prior to the chosen end frame --- at which point, it would freeze on that final frame no matter what keys followed it. However, it would still run the duration of the animation as set by the end frame; it just wouldn't update the displayed image. Again, stepping through with the frame-by-frame controls still revealed the changes. I messed around a bit, thinking it had something to do with the scaling mode. I noticed that changing this setting would cause the entire display to turn black when playback was started. While that is likely a separate issue, it tipped me off to the possibility that this was a caching issue. And, upon finding that the program was using on-disk caching, I set it to "In-Memory," which appears to have resolved the issue. Long story short: I believe the On-disk caching method might not be updating correctly when either the Start and End values are changed, though it occasionally breaks even when these are not changed. STEPS TO REPRODUCE 1. (Krita should default to On-disk animation caching...) 2. If not, Settings->Configure Krita->Performance->Animation Cache: Set Backend to On-disk 3. Attempt animating for a while --- the occurrence of this potential bug is inconsistent, but frequent. OBSERVED RESULT Playback does not update to include new key frames --- it instead freezes on either the first or "last" frame. The "last" frame tends not to be the actual end of the animation, but one specified as the End value previously (though this value may have changed, the "last" frame does not). EXPECTED RESULT Playback of the animation as intended. SOFTWARE VERSIONS Krita Version: 4.1.3 Qt Version: 5.11.2 ADDITIONAL INFORMATION System: 4.18.10-arch1-1-ARCH [$ glxinfo | grep -i "opengl"]: OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GTX 780/PCIe/SSE2 OpenGL core profile version string: 4.6.0 NVIDIA 410.57 OpenGL core profile shading language version string: 4.60 NVIDIA OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.6.0 NVIDIA 410.57 OpenGL shading language version string: 4.60 NVIDIA OpenGL context flags: (none) OpenGL profile mask: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 410.57 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 OpenGL ES profile extensions: [$ lscpu]: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 2 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 58 Model name: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz Stepping: 9 CPU MHz: 1604.789 CPU max MHz: 3900.0000 CPU min MHz: 1600.0000 BogoMIPS: 7023.00 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 8192K NUMA node0 CPU(s): 0-7 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts [# smartctl -i /dev/sdb]: smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.18.10-arch1-1-ARCH] (local build) Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Seagate Barracuda 7200.14 (AF) Device Model: ST1000DM003-9YN162 Serial Number: S1D3DEWZ LU WWN Device Id: 5 000c50 05159a012 Firmware Version: CC4B User Capacity: 1,000,204,886,016 bytes [1.00 TB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: 7200 rpm Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS T13/1699-D revision 4 SATA Version is: SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s) Local Time is: Sun Sep 30 17:54:55 2018 EDT ==> WARNING: A firmware update for this drive may be available, see the following Seagate web pages: http://knowledge.seagate.com/articles/en_US/FAQ/207931en http://knowledge.seagate.com/articles/en_US/FAQ/223651en SMART support is: Available - device has SMART capability. SMART support is: Enabled TEMPORARY WORKAROUND: Set Animation Caching to "In-memory" (Seems to work consistently) I realize that a lot of the above may be of little help, but I wanted to be thorough! I hope this helps! -- You are receiving this mail because: You are watching all bug changes.