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.

Reply via email to