Feed Advanced Search

Oct 20 2017

poke1024 updated the diff for D7896: KOColor constructors in dab constructors.

@rempt KoResourcePaths::assertReady() is really only useful inside KisApplication. I suggest we deactivate by default and only activate it explicitly inside KisApplication.

Oct 20 2017, 6:00 AM

Oct 18 2017

poke1024 closed D8093: Cache effect and selection masks.
Oct 18 2017, 5:58 PM
poke1024 added a comment to D8280: Change the default texture size.

@alvinhochun I did more tests on two Macs and the time difference seems to come from glDrawArrays.

Oct 18 2017, 5:53 PM
poke1024 updated the diff for D8280: Change the default texture size.

fixed indentation

Oct 18 2017, 5:30 PM

Oct 17 2017

poke1024 updated the diff for D8201: Adds debug configuration for stylus latency tracking.

more reusability

Oct 17 2017, 4:12 AM

Oct 16 2017

poke1024 updated the diff for D8201: Adds debug configuration for stylus latency tracking.

Now uses boost to calculate rolling mean and variance.

Oct 16 2017, 7:55 PM
poke1024 added a comment to D8201: Adds debug configuration for stylus latency tracking.

Correction; boost does have rolling_variance after all, I just didn't find it in the docs earlier; blast (http://www.boost.org/doc/libs/1_61_0/boost/accumulators/statistics/rolling_variance.hpp)

Oct 16 2017, 5:58 PM
poke1024 added a comment to D8201: Adds debug configuration for stylus latency tracking.

Dmitry's patch for WinTab linux timestamps is now included. @alvinhochun I'm not sure what Windows uses as native event timestamp, I should probably disable the code for Windows as long as I don't know in order to not print out wrong numbers. QT's docs are not helpful really (they say the input event timestamp will normally be in milliseconds since some arbitrary point in time, such as the time when the system was started., http://doc.qt.io/qt-5/qinputevent.html)

Oct 16 2017, 5:56 PM
poke1024 updated the diff for D8201: Adds debug configuration for stylus latency tracking.

Still a work in progress; added classes to a different file, now uses shared pointer, adds rolling mean.

Oct 16 2017, 5:51 PM
poke1024 closed D8186: Fix fps output of macOS.
Oct 16 2017, 2:34 PM

Oct 14 2017

poke1024 updated the diff for D8172: Don't show lock, collapse in floating docks.

Fixes the bug observed by @dkazakov.

Oct 14 2017, 12:00 AM

Oct 13 2017

poke1024 added a comment to D8121: Touchpad gesture support for MacBooks.

@alvinhochun @rempt pushed again, sorry for that :-(

Oct 13 2017, 9:36 PM
poke1024 committed R37:9e9789d4ca44: adds native touch gestures for macOS via QNativeGestureEvent; now includes new… (authored by poke1024).
adds native touch gestures for macOS via QNativeGestureEvent; now includes new…
Oct 13 2017, 9:34 PM
poke1024 created D8280: Change the default texture size.
Oct 13 2017, 9:25 PM
poke1024 created D8279: Delay purging of KisTextureTileInfoPoolSingleSize.
Oct 13 2017, 9:02 PM

Oct 12 2017

poke1024 added a comment to D8093: Cache effect and selection masks.

applied patch by @dkazakov and pushed to master.
https://commits.kde.org/krita/17ec3286138e525c9fe16e97b056590c636e87f1

Oct 12 2017, 6:12 PM
poke1024 committed R37:17ec3286138e: adds caching for effect and selection masks (authored by poke1024).
adds caching for effect and selection masks
Oct 12 2017, 6:12 PM
poke1024 added a comment to D8186: Fix fps output of macOS.

pushed.
https://commits.kde.org/krita/360c6263b3fdfefedc730a3fc291589bcc4d3687

Oct 12 2017, 5:56 PM
poke1024 committed R37:360c6263b3fd: fixes OpenGL canvas fps overlay on macOS (authored by poke1024).
fixes OpenGL canvas fps overlay on macOS
Oct 12 2017, 5:56 PM
poke1024 added a comment to D8121: Touchpad gesture support for MacBooks.

We should document somewhere that Mac users need to delete/update their local kritadefault.profile (usually under Application Support/krita/input) in order for this to work as the new modified kritadefault.profile needs to be fetched.

Oct 12 2017, 5:52 PM
poke1024 committed R37:cbb6ed2daa05: adds native touch gestures for macOS via QNativeGestureEvent (authored by poke1024).
adds native touch gestures for macOS via QNativeGestureEvent
Oct 12 2017, 5:50 PM
poke1024 committed R37:17515247065b: proof of concept (authored by poke1024).
proof of concept
Oct 12 2017, 5:35 PM

Oct 8 2017

poke1024 updated subscribers of D8193: Fps limit configuration.

@alvinhochun @rempt This is definitely the right idea and it would be so great having this as it's the one central performance hog on macOS. Alas, I spent a day last week trying to do exactly that and had to find out that with the current QT implementation there's seemingly no way to do it. It used to be possible with QT 4. But with QT5 and QTQuick, the compositing in the main thread doesn't inform any other thread of when the context is occupied and QT crashes with an assertion that a context cannot be used by two threads. The official sample code (https://github.com/qt/qtbase/blob/5.9/examples/opengl/threadedqopenglwidget) is a hack and only works as long as the OpenGL runs in a separate window without other widgets; if there are any other widgets in the other, QT's compositing code fails to properly call onAboutToCompose and onFrameSwapped and so the whole fragile GL context grabbing logic breaks down. It's sad state of affairs with QT.

Oct 8 2017, 7:21 PM
poke1024 created D8201: Adds debug configuration for stylus latency tracking.
Oct 8 2017, 2:35 PM
poke1024 created D8193: Fps limit configuration.
Oct 8 2017, 10:40 AM
poke1024 added a comment to D8186: Fix fps output of macOS.

@alvinhochun Doesn't seem to be officially reported yet, though it popped up in the forums:

Oct 8 2017, 10:14 AM
poke1024 updated the diff for D8186: Fix fps output of macOS.

the previous version was my debugging version :-)

Oct 8 2017, 7:51 AM
poke1024 created D8186: Fix fps output of macOS.
Oct 8 2017, 7:49 AM
poke1024 added a comment to D8015: Kinetic scrolling in brush presets.

@alvinhochun That's what "disabled" should do. Or do you have something in mind that is different from the current top of tree?

Oct 8 2017, 6:54 AM

Oct 7 2017

poke1024 updated the diff for D8167: Fix zoom gesture focal point.

Panning works now; (the code is not beautiful but robust).

Oct 7 2017, 2:33 PM
poke1024 added a comment to D8121: Touchpad gesture support for MacBooks.

@alvinhochun I'm not sure there are many ways to use OS X with a touch enabled screen. I have a touch enabled Wacom Cintiq but their touch drivers are unfortunately just a hack mapping to certain keyboard shortcuts and they seem completely separate from Apple native touch events you get from using a MacBook trackpad, so no QNativeGestureEvents here.

Oct 7 2017, 11:23 AM
poke1024 added a comment to D8167: Fix zoom gesture focal point.

@alvinhochun I saw that as well, but I wasn't sure what the reason was. Are you on a hidpi screen? Because I suspect this is a QT bug with wrong scaling in the touch screen coordinates when on hidpi. If you're experiencing this on hidpi as well, I can try a fix.

Oct 7 2017, 10:43 AM
poke1024 created D8172: Don't show lock, collapse in floating docks.
Oct 7 2017, 10:33 AM
poke1024 added a comment to D8033: Pooled memory allocations.

Hi @dkazakov, after looking at the profiling again and the code, I'm a bit confused. This looks like the m_pool.purge_memory(); call inside KisTextureTileInfoPoolSingleSize::free(), but it's really not called that often. I did that profile on an iMac 5K, where performance is abysmal, so maybe in that specific configuration there's something fishy. Will investigate further.

Oct 7 2017, 8:13 AM
poke1024 created D8167: Fix zoom gesture focal point.
Oct 7 2017, 7:28 AM
poke1024 added a comment to D8023: A better place for the OS X glFinish() fix.

I'm currently investigating getting rid of the glFinish altogether, by (1) using fences or (2) using double buffered pixel buffers. Might actually abandon this if one of the other approaches works.

Oct 7 2017, 6:34 AM
poke1024 added a comment to D8022: Less KisCanvasUpdatesCompressor contention.

Hi @dkazakov, I didn't add the assert in KisCanvasUpdatesCompressor::takeUpdateInfo because I don't think I understand it. Can you take another look?

Oct 7 2017, 6:31 AM · Krita
poke1024 updated the diff for D8093: Cache effect and selection masks.

Several renames as suggested by @dkazakov.

Oct 7 2017, 6:28 AM

Oct 6 2017

poke1024 added a comment to D8057: Better layer panel indication of "droppability".

Found a problem that causes a delay when starting to drag a layer that is caused by KisMimeData::loadNodes. Will have to investigate further.

Oct 6 2017, 5:07 PM
poke1024 added inline comments to D8022: Less KisCanvasUpdatesCompressor contention.
Oct 6 2017, 4:46 PM · Krita
poke1024 updated the diff for D8022: Less KisCanvasUpdatesCompressor contention.

Applied some renames and fixes. Reverted to QVector.

Oct 6 2017, 4:45 PM · Krita
poke1024 closed D8103: Fix minor profile path problem.
Oct 6 2017, 4:01 PM

Oct 5 2017

poke1024 updated the diff for D8015: Kinetic scrolling in brush presets.

Some ideas for having options for this:

Oct 5 2017, 4:52 PM
poke1024 added a comment to D8018: Cosmetics: nicer tool tips.

pushed with one small centering tweak.

Oct 5 2017, 4:46 PM
poke1024 committed R37:33f534a5a52a: nicer brush tool tips (authored by poke1024).
nicer brush tool tips
Oct 5 2017, 4:45 PM
poke1024 committed R37:bcceb784a75a: better drop indicator for layer panel (authored by poke1024).
better drop indicator for layer panel
Oct 5 2017, 3:51 PM
poke1024 added a comment to D8055: Better drop indicator for the layer panel.

pushed.

Oct 5 2017, 3:50 PM
poke1024 committed R37:1ed785315a40: fixes minor lookup problem of resource path files that do not match filter (authored by poke1024).
fixes minor lookup problem of resource path files that do not match filter
Oct 5 2017, 3:31 PM
poke1024 added a comment to D8103: Fix minor profile path problem.

pushed.

Oct 5 2017, 3:31 PM
poke1024 added a comment to D8085: Save 5% in KisTextureProperties::apply.

@dkazakov Is this safe?

Oct 5 2017, 3:15 PM
poke1024 added a comment to D8033: Pooled memory allocations.

Hi @dkazakov, regarding your questions:

Oct 5 2017, 2:59 PM

Oct 4 2017

poke1024 added a comment to D8121: Touchpad gesture support for MacBooks.

@alvinhochun I believe not. First, the code only overrides multi finger gestures, not single finger touch inputs. And this is done by processing the QNativeGestureEvent that Qt gives us. The classic Krita touch implementation of those touch events that are detectable using QNativeEventGestures under OS X is only deactivated because there would be a conflict otherwise: for pinch and rotate, Qt sends a QNativeEventGestures as well as a QTouchEvent, which means Krita would process the same gesture twice with different code paths, which is obviously not desirable. A similar thing happens with pan events (they come as QWheelEvent as well as QTouchEvent on OS X). So, the only reason some code paths are overriden is to not handle the same gesture twice. We might of course do something like: if a QNativeGestureEvent arrives, then ignore all following or near QTouchEvents; but that would assume that the QNativeGestureEvent always comes first and the QTouchEvents for the same physical finger movement comes second, and that is not documented in Qt. So it's a bit difficult how to really deal with this cross platform wise, if one does not know which events the platform will give us. On OS X it's simple. But on other systems this might have to be an option like "Enable native gesture events".

Oct 4 2017, 4:42 PM
poke1024 added a comment to D8061: Save 3% in KisCurveOption::computeValueComponents().

Pushed: https://commits.kde.org/krita/f8b418319aff896d0fd0058a7d6c5df56f09599e

Oct 4 2017, 4:32 PM
poke1024 committed R37:f8b418319aff: avoid temporary vector allocation (authored by poke1024).
avoid temporary vector allocation
Oct 4 2017, 4:32 PM
poke1024 committed R37:d4166f127656: fix timer being swamped (authored by poke1024).
fix timer being swamped
Oct 4 2017, 4:47 AM
poke1024 added a comment to D8081: Fix KisSignalCompressor delays.

Fixed and pushed to master.

Oct 4 2017, 4:45 AM

Oct 3 2017

poke1024 added a comment to D8061: Save 3% in KisCurveOption::computeValueComponents().

Changed.

Oct 3 2017, 9:05 PM
poke1024 updated the diff for D8061: Save 3% in KisCurveOption::computeValueComponents().

Changed to const iterator getters.

Oct 3 2017, 9:05 PM
poke1024 added a comment to D7896: KOColor constructors in dab constructors.

OK, pushed.

Oct 3 2017, 8:40 PM
poke1024 committed R37:afa195a20e87: no dynamic allocations on KoColor (authored by poke1024).
no dynamic allocations on KoColor
Oct 3 2017, 8:39 PM
poke1024 added a comment to D7896: KOColor constructors in dab constructors.

I pushed the implementation to krita:bliebl/kocolor now. Is this the right approach?

Oct 3 2017, 7:28 PM
poke1024 added a comment to D8121: Touchpad gesture support for MacBooks.

@alvinhochun I should have mentioned that it's not really enabled for other platforms as I didn't want to break anything. You can try to commend out the two #ifdef Q_OS_OSX and see what happens; it then will override Krita's implementation. But if QT does not send any QNativeGestureEvents on specific platform, this basically breaks touch support for the platform.

Oct 3 2017, 7:26 PM
poke1024 committed R37:92ad651e150d: changed Private in favor of separate attributes (authored by poke1024).
changed Private in favor of separate attributes
Oct 3 2017, 7:23 PM
poke1024 committed R37:ae24f90a54f6: no dynamic allocations on KoColor (authored by poke1024).
no dynamic allocations on KoColor
Oct 3 2017, 7:23 PM
poke1024 updated the diff for D8121: Touchpad gesture support for MacBooks.

Adds missing KisInputManager::Private::addNativeGestureShortcut (sorry for that)

Oct 3 2017, 4:42 PM
poke1024 added a comment to D8121: Touchpad gesture support for MacBooks.

@alvinhochun Yes, pan and zoom are implemented, but on OS X, pan actually maps to zoom as it is reported as a mouse wheel event by Qt, it's very confusing, and zoom works but not, touch wise, as reliable as the native gestures.

Oct 3 2017, 4:05 PM
poke1024 added a comment to D7896: KOColor constructors in dab constructors.

concerning (1), I believe it's better to actually enforce an assert as everything else will lead to color space init issues as described in my crash fix text. If the first color space is created before KisApplication has set up the resource paths, we're in big trouble (and this has nothing to do with this PR, to make this clear).

Oct 3 2017, 2:30 PM
poke1024 updated the diff for D7896: KOColor constructors in dab constructors.

This fixes that crash inside KoLcmsColorProofingConversionTransformation::KoLcmsColorProofingConversionTransformation Dmitry observed.

Oct 3 2017, 2:26 PM
poke1024 created D8121: Touchpad gesture support for MacBooks.
Oct 3 2017, 9:35 AM
poke1024 added a comment to D8061: Save 3% in KisCurveOption::computeValueComponents().

Interesting. So we can we're safe to use C++11 in Krita where possible (at least range based loops)? BTW which Qt version does Krita support as minimum?

Oct 3 2017, 8:17 AM

Oct 2 2017

poke1024 created D8103: Fix minor profile path problem.
Oct 2 2017, 10:50 AM

Oct 1 2017

poke1024 created D8093: Cache effect and selection masks.
Oct 1 2017, 6:37 PM
poke1024 added a comment to D7896: KOColor constructors in dab constructors.

A few more details (and an analysis comparable to the one in D8033):

Oct 1 2017, 2:23 PM
poke1024 added a comment to D8033: Pooled memory allocations.

@alvinhochun @dkazakov, the specific use case for this PR, KisUpdateInfo is indeed bogus (I actually had confused profiler values for the KoUpdateInfo constructor with malloc times) ; and as it turns out, now I've taken more measurements, you're right, Dmitry, the whole time spent in (non-QT) memory allocation even under load usually seems to be not an issue (under 3%).

Oct 1 2017, 1:55 PM
poke1024 added a comment to D8081: Fix KisSignalCompressor delays.

@alvinhochun This is indeed interesting, so the problem won't occur on Windows. On OS X the timer seems to get swamped if there's a lot of input events, I originally detected this by playing with touch events and seeing that if I used my MacBook touchpad Krita did not respond at all (due to this effect: a lot of touch events, no timers).

Oct 1 2017, 11:37 AM
poke1024 created D8085: Save 5% in KisTextureProperties::apply.
Oct 1 2017, 11:34 AM
poke1024 created D8081: Fix KisSignalCompressor delays.
Oct 1 2017, 6:11 AM

Sep 29 2017

poke1024 created D8061: Save 3% in KisCurveOption::computeValueComponents().
Sep 29 2017, 6:08 PM
poke1024 updated the diff for D7896: KOColor constructors in dab constructors.

removed debugging code

Sep 29 2017, 2:03 PM
poke1024 updated the diff for D7896: KOColor constructors in dab constructors.

renamed m_d to d

Sep 29 2017, 2:01 PM
poke1024 created D8057: Better layer panel indication of "droppability".
Sep 29 2017, 11:49 AM
poke1024 created D8055: Better drop indicator for the layer panel.
Sep 29 2017, 11:37 AM

Sep 28 2017

poke1024 added a comment to D8023: A better place for the OS X glFinish() fix.

Yes, it's an OS X only bug fix. It actually needs glFinish (full synchronous stop, argh), I tried glFlush and then you get artefacts (at least with mip mapping texture modes).

Sep 28 2017, 2:15 PM
poke1024 created D8033: Pooled memory allocations.
Sep 28 2017, 2:11 PM
poke1024 updated the diff for D8018: Cosmetics: nicer tool tips.

Fixed margins, moved tags to bottom:

Sep 28 2017, 12:01 PM
poke1024 updated the diff for D8018: Cosmetics: nicer tool tips.

removed the bullets

Sep 28 2017, 11:49 AM
poke1024 updated the diff for D8018: Cosmetics: nicer tool tips.

Added a specific role for tags now in order to be able to give them a separate style:

Sep 28 2017, 11:42 AM
poke1024 updated the diff for D8022: Less KisCanvasUpdatesCompressor contention.

Using a QVector::swap is more elegant.

Sep 28 2017, 10:53 AM · Krita
poke1024 added a comment to D8015: Kinetic scrolling in brush presets.

Though I personally really find this useful working on a Cintiq with a stylus and not having to grab the scollbar.

Sep 28 2017, 9:34 AM
poke1024 created D8023: A better place for the OS X glFinish() fix.
Sep 28 2017, 9:32 AM
poke1024 created D8022: Less KisCanvasUpdatesCompressor contention.
Sep 28 2017, 9:06 AM · Krita

Sep 27 2017

poke1024 created D8018: Cosmetics: nicer tool tips.
Sep 27 2017, 8:46 PM
poke1024 created D8015: Kinetic scrolling in brush presets.
Sep 27 2017, 4:29 PM
poke1024 updated the diff for D7896: KOColor constructors in dab constructors.

fixes a wrong const

Sep 27 2017, 2:21 PM
poke1024 updated the diff for D7896: KOColor constructors in dab constructors.

So this is the "KOColor without dynamic allocations" refactoring I came up.

Sep 27 2017, 2:19 PM
poke1024 added a comment to D8004: Cosmetic dock title prefs.

Just for completeness' sake: what this ultimately aims at is a very minimal look like with Sketchbook Pro:

Sep 27 2017, 9:50 AM · Krita
poke1024 added a comment to D8004: Cosmetic dock title prefs.

But hiding the title bar breaks moving the window in undocked move as far as I tried it once.

Sep 27 2017, 9:42 AM · Krita
poke1024 updated the summary of D8004: Cosmetic dock title prefs.
Sep 27 2017, 9:38 AM · Krita
poke1024 created D8004: Cosmetic dock title prefs.
Sep 27 2017, 9:26 AM · Krita

Sep 26 2017

poke1024 added a comment to D7969: Prevents crash.

@dkazakov, the temp folders should eventually get deleted, but it might take days, months or years, and it's not transparent when OS X does this (and not documented). For example, here's my temp folder where krita would store temp files if one disabled the swap file template file name after force quitting Krita two times:

Sep 26 2017, 7:45 AM