poke1024 (Bernhard Liebl)
User

Projects

User does not belong to any projects.

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Saturday

  • Clear sailing ahead.

User Details

User Since
Sep 19 2017, 8:39 PM (344 w, 1 d)
Availability
Available

Recent Activity

Nov 21 2017

poke1024 updated the diff for D8701: Garble-free drawing of debug infos.
  • Reduced drawing to one single drawText call using newlines
  • Got rid of the additional drawText-call to draw a shadow and use an effects filter instead
  • The metrics calculation now happens inside drawText, which is what I should have done from the start; it still uses an optimistic approach (i.e. the first draw will nearly always succeed), but it no longer uses a loop, so I hope it's cleaner now
Nov 21 2017, 9:08 PM

Nov 20 2017

poke1024 added a comment to D8701: Garble-free drawing of debug infos.

I'll have another look. But you guys forget that the drawing code also has two different offsets that need also be duplicated in the size code and that the size can only work when there's a painter instantiated that knows the current font. It all leads to code duplication in some form or to more complex code that needs to externalize those constants. More, it also makes future changes like adding color to single lines completely impossible. It's premature optimization, it removes all leeway without any gain. Having one additional draw once at the startup of Krita is really not an issue.

Nov 20 2017, 2:25 PM
poke1024 added a comment to D8550: Incremental screen updates via FBO.

With ANGLE, enabling incremental screen updates seems to be slower than without it, but I don't know enough OpenGL and the internals of ANGLE to find out why.

Nov 20 2017, 1:59 PM
poke1024 added inline comments to D8550: Incremental screen updates via FBO.
Nov 20 2017, 1:53 PM
poke1024 updated subscribers of D8868: Reimplementation of KisRelaxedTimer.

@neviril Could you try out this patch if it also has the "frames lost" problem (i.e. the one from https://phabricator.kde.org/D8804)?

Nov 20 2017, 1:46 PM
poke1024 added a comment to D8701: Garble-free drawing of debug infos.

I mean you can calculate the size, resize the pixmap if needed and then paint once., instead of painting an extra time if a resize is needed.

Nov 20 2017, 1:43 PM

Nov 18 2017

poke1024 updated the diff for D8550: Incremental screen updates via FBO.
  • Fixes a regression I introduced with the last update that broke the checker board mask setup (this might also fix one or two @alvinhochun's flickering checkboard bugs)
  • Simplified the checkerboard mask code (eliminated glBlendColor)
  • Modified KisCanvas2::resetCanvas so that the change of setting takes place immediately, not only after opening a new canvas
Nov 18 2017, 6:57 PM
poke1024 added a comment to D8550: Incremental screen updates via FBO.

I would've thought you can just compare the equality even without fuzziness.

Nov 18 2017, 5:14 PM
poke1024 added a comment to D8550: Incremental screen updates via FBO.

(1) see comments and my inline remark.
(2) this happens inside KisOpenGLAccumulator::bind, namely with qFuzzyCompare(m_modelMatrix, modelMatrix). This works good enough in practice, although for very small changes this might pose a problem, but I think in practice matrix either stays the same or changes radically (i.e. like > 0.01). I didn't find a convenient observer or callback pattern to detect these changes, which might be even better of course.

Nov 18 2017, 10:51 AM
poke1024 updated the diff for D8550: Incremental screen updates via FBO.

Fixes wrapping mode regression (broken due to my columns loop refactoring)
Adds several comments to core parts of the incremental update
Moves drawCheckers() call into drawImage() to have one defined place of call (this is more logical, as drawImage() always draw checkers if it operates in incremental mode, so it was not logical to not have do it in non-incremental mode); the semantics of drawImage() is thus now: draw checkers and image

Nov 18 2017, 10:42 AM

Nov 17 2017

poke1024 added a comment to D8015: Kinetic scrolling in brush presets.

Indentation fixed and pushed.

Nov 17 2017, 3:49 PM
poke1024 committed R37:a8e3eff1f87a: Add kinetic scrolling to resource item choosers (authored by poke1024).
Add kinetic scrolling to resource item choosers
Nov 17 2017, 3:48 PM
poke1024 closed D8015: Kinetic scrolling in brush presets.
Nov 17 2017, 3:48 PM
poke1024 added a comment to D8015: Kinetic scrolling in brush presets.

@alvinhochun I assume you mean the wrong spacing in libs/ui/forms/wdggeneralsettings.ui? I'll fix that.

Nov 17 2017, 3:14 PM
poke1024 added a comment to D8804: Fix FIRST_ACTIVE regression due to KisRelaxedTimer.

Hm, I thought a lot more about this, and now think I understand that this is not a good solution.

Nov 17 2017, 2:59 PM
poke1024 created D8868: Reimplementation of KisRelaxedTimer.
Nov 17 2017, 2:58 PM

Nov 13 2017

poke1024 created D8804: Fix FIRST_ACTIVE regression due to KisRelaxedTimer.
Nov 13 2017, 10:12 PM

Nov 12 2017

poke1024 added a comment to D8720: Check whether m_walker is not 0.

Hi @dkazakov, I cannot reproduce this reliably, it happens randomly but fairly often (like once every one or two weeks) on any of my Macs (iMac and MacBooks) while drawing wildly around over the whole canvas (nothing special, i.e. some non-specific 10 px brush on a 4000 x 4000 canvas).

Nov 12 2017, 9:07 AM · Krita
poke1024 added a comment to D8701: Garble-free drawing of debug infos.

@alvinhochun Not sure I understand your question. The first try in the first run is the calculation of the correct size, as it's not known beforehand. After that, i.e. in later invocations of KisFpsDecoration::drawDecoration, there will be no two tries unless the pixmap size changed.

Nov 12 2017, 8:55 AM

Nov 11 2017

poke1024 added a comment to D8760: Fix fps limit config incorrectly changing frame clones limit.

Oh darn, this looks like copy & paste at its worst on my side. Thanks for finding this. I know, I need to look at https://bugs.kde.org/show_bug.cgi?id=386620.

Nov 11 2017, 4:53 PM · Krita

Nov 7 2017

poke1024 updated the diff for D8701: Garble-free drawing of debug infos.

fix spaces

Nov 7 2017, 6:01 PM
poke1024 created D8701: Garble-free drawing of debug infos.
Nov 7 2017, 6:00 PM
poke1024 added inline comments to D8675: Fixes a crash in wrap mode.
Nov 7 2017, 5:37 PM
poke1024 created D8700: Allocation too large?.
Nov 7 2017, 5:14 PM
poke1024 added a comment to T5675: Integrate with g'mic-qt plugin.

Hi @rempt, I looked into this today a bit as you mentioned it yesterday and it's indeed quite depressing on macOS.

Nov 7 2017, 4:50 PM · Krita: Next Features (Needs Documentation)

Nov 6 2017

poke1024 updated the diff for D8550: Incremental screen updates via FBO.

Solves the alpha background problem by using masking via blend. Works now as far as I can tell. Probably needs more cleaning up inside KisOpenGLCanvas2::drawImage.

Nov 6 2017, 6:11 PM
poke1024 added a comment to D8550: Incremental screen updates via FBO.

After talking to @boud in the meeting, I now understand that the opaqueness thing is not detectable via layer opaqueness at all, as each layer is full RGBA. So the fix for this has to be the "draw one tile background" thing. Ok.

Nov 6 2017, 1:36 PM
poke1024 reopened D8186: Fix fps output of macOS.

@woltherav says that this is needed on Linux and Windows as well, so I'll update this to get enabled on all platforms

Nov 6 2017, 1:28 PM
poke1024 updated the diff for D8550: Incremental screen updates via FBO.

An improved version, but not yet ready for prime time.

Nov 6 2017, 1:14 PM
poke1024 created D8675: Fixes a crash in wrap mode.
Nov 6 2017, 7:15 AM
poke1024 added a comment to D8538: An experiment with KisSignalCompressor accuracy.

pushed.

Nov 6 2017, 6:43 AM
poke1024 committed R37:6f3dc831b92b: Use relaxed timer for signal compression (authored by poke1024).
Use relaxed timer for signal compression
Nov 6 2017, 6:42 AM
poke1024 closed D8538: An experiment with KisSignalCompressor accuracy.
Nov 6 2017, 6:42 AM

Nov 3 2017

poke1024 added a comment to D8550: Incremental screen updates via FBO.
In D8550#163275, @rempt wrote:

Am I right that I cannot apply this patch at the same time as D8603: Asynchronous texture uploading ?

Nov 3 2017, 4:32 PM

Nov 2 2017

poke1024 updated the diff for D8603: Asynchronous texture uploading.

Fixes the crash on Linux (uninitialized m_sharedContext from one constructor; now implemented differently); and actually any system that has no support for the approach due to lacking threaded OpenGL or shared GL contexts
Better separation of concerns (not done yet)
Less mutex contention
Still very much a work in progress :-)

Nov 2 2017, 11:53 PM
poke1024 added a comment to D8603: Asynchronous texture uploading.
In D8603#163301, @rempt wrote:

On OSX, I don't see visual regressions, but I get a lot of console messages like

WARNING: Extra data object: 0

Could that be related?

Nov 2 2017, 6:58 PM

Nov 1 2017

poke1024 created D8603: Asynchronous texture uploading.
Nov 1 2017, 8:20 PM
poke1024 abandoned D8418: Get (almost) rid of glFinish() on OS X.

Abandoned, as this needed another inexplicable glFlush to fix regressions that probably only worked because it added another delay. The main problem with this is that glTestObjectAPPLE always returns 1 (done) even directly after uploading a texture. Whereas using glFinish() seems to work, so we want glFinish(), which basically negates the whole approach of this patch.

Nov 1 2017, 8:18 PM
poke1024 added a comment to D8418: Get (almost) rid of glFinish() on OS X.

Ok, I'll abandon this patch, it's not functioning safely. I have another one coming with a threaded approach that's the way to go.

Nov 1 2017, 11:04 AM

Oct 31 2017

poke1024 added a comment to D8418: Get (almost) rid of glFinish() on OS X.

Just for the record, I just found out that this whole approach does not work properly on my MacBook Pro 2017 under High Sierra. Basically, glTestObjectAPPLE returns true (finished) all the time, even though the thing is not finished.

Oct 31 2017, 9:18 PM
poke1024 updated the diff for D8418: Get (almost) rid of glFinish() on OS X.

switched to KisSignalCompressor.

Oct 31 2017, 6:27 PM
poke1024 updated the diff for D8538: An experiment with KisSignalCompressor accuracy.

I tried to incorporate @dkazakov's suggestions into a simplified state KisSignalCompressor, but it didn't work out as I expected. We still need more state vars, as a compressor can get active and only later on decide if it will emit, but it needs to track its active state independently of its emission state.

Oct 31 2017, 10:16 AM

Oct 30 2017

poke1024 updated the diff for D8550: Incremental screen updates via FBO.

rebased to current top of tree

Oct 30 2017, 1:53 PM
poke1024 added a comment to D8538: An experiment with KisSignalCompressor accuracy.

Hi @dkazakov, this looks like a clean design, I'll change the patch accordingly.

Oct 30 2017, 1:06 PM
poke1024 created D8550: Incremental screen updates via FBO.
Oct 30 2017, 10:29 AM

Oct 29 2017

poke1024 added a comment to D8015: Kinetic scrolling in brush presets.

Hi @alvinhochun, if you can take a look that would be great, I don't have a Windows test machine to reproduce the effect currently.

Oct 29 2017, 5:31 AM

Oct 28 2017

poke1024 added a comment to D8201: Adds debug configuration for stylus latency tracking.

pushed.

Oct 28 2017, 4:20 PM
poke1024 committed R37:c6294f4751a8: Adds debug functions for stylus latency tracking (authored by poke1024).
Adds debug functions for stylus latency tracking
Oct 28 2017, 4:19 PM
poke1024 closed D8201: Adds debug configuration for stylus latency tracking.
Oct 28 2017, 4:19 PM
poke1024 abandoned D8482: Cleanup QTimer in KisSignalCompressor.

Ok, I was lacking understanding of QT QObject hierarchies.

Oct 28 2017, 3:55 PM
poke1024 added a comment to D8459: Allow AMD GPUs OpenGL on OS X with warning.

Can this still be useful for other OpenGL warnings?

Oct 28 2017, 3:46 PM
poke1024 abandoned D8280: Change the default texture size.

Making the texture size larger is not an option. To address the profiling measurements, the right approach is to use an FBO and only redraw those tiles that need changing.

Oct 28 2017, 3:45 PM
poke1024 created D8538: An experiment with KisSignalCompressor accuracy.
Oct 28 2017, 2:20 PM
poke1024 abandoned D8023: A better place for the OS X glFinish() fix.
Oct 28 2017, 10:54 AM
poke1024 added a comment to D8085: Save 5% in KisTextureProperties::apply.

@dkazakov Ok to push?

Oct 28 2017, 10:53 AM
poke1024 added a comment to D8085: Save 5% in KisTextureProperties::apply.

@dkazakov Ok to push?

Oct 28 2017, 10:53 AM

Oct 25 2017

poke1024 created D8482: Cleanup QTimer in KisSignalCompressor.
Oct 25 2017, 7:34 PM
poke1024 added a comment to D8418: Get (almost) rid of glFinish() on OS X.

It doesn't seem difficult: You only need to get the function pointer once to pass it to KisTextureTile and KisTextureTile is constructed in only one place anyway. It already passes QOpenglFunctions to it so passing an extra function pointer doesn't seem any uglier.

Oct 25 2017, 6:06 PM
poke1024 updated the diff for D8418: Get (almost) rid of glFinish() on OS X.

Seems to fix regression.

Oct 25 2017, 5:24 AM
poke1024 added a comment to D8418: Get (almost) rid of glFinish() on OS X.

Actually I detected a regression with this on my iMac 5K right now. When painting with a 100px Ink_brush_25 on a 4000 by 4000 canvas, this happens (notice the grey zebra-like areas in the stroke that actually disappear as soon as an additional update happens in the area):

Oct 25 2017, 4:23 AM
poke1024 added inline comments to D8418: Get (almost) rid of glFinish() on OS X.
Oct 25 2017, 4:22 AM
poke1024 updated the diff for D8418: Get (almost) rid of glFinish() on OS X.

Adds Q_OS_OSX guard.

Oct 25 2017, 4:21 AM
poke1024 created D8459: Allow AMD GPUs OpenGL on OS X with warning.
Oct 25 2017, 4:00 AM

Oct 24 2017

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

This tries to address some of the issues brought up by Dmitry and Alvin.

Oct 24 2017, 5:20 PM
poke1024 added a comment to D8422: Add cache for KisIconUtils::loadIcon.

pushed.

Oct 24 2017, 3:51 PM
poke1024 committed R37:783767179388: Add cache for KisIconUtils::loadIcon (authored by poke1024).
Add cache for KisIconUtils::loadIcon
Oct 24 2017, 3:50 PM
poke1024 closed D8422: Add cache for KisIconUtils::loadIcon.
Oct 24 2017, 3:50 PM

Oct 23 2017

poke1024 added a comment to D8015: Kinetic scrolling in brush presets.

The scrollbar on "On Touch Drag" is a simple change.

Oct 23 2017, 2:35 PM
poke1024 added a comment to D8279: Delay purging of KisTextureTileInfoPoolSingleSize.

pushed.

Oct 23 2017, 2:25 PM
poke1024 committed R37:c998e136c3b1: Delay purging of KisTextureTileInfoPoolSingleSize (authored by poke1024).
Delay purging of KisTextureTileInfoPoolSingleSize
Oct 23 2017, 2:23 PM
poke1024 closed D8279: Delay purging of KisTextureTileInfoPoolSingleSize.
Oct 23 2017, 2:23 PM
poke1024 added a comment to D8280: Change the default texture size.

Reverted.

Oct 23 2017, 2:16 PM
poke1024 committed R37:a7ba06f0634a: Revert of "Change default OpenGL texture size from 256 to 2048" (authored by poke1024).
Revert of "Change default OpenGL texture size from 256 to 2048"
Oct 23 2017, 2:14 PM
poke1024 added a reverting change for R37:7e81dc12f5e3: Change default OpenGL texture size from 256 to 2048: R37:a7ba06f0634a: Revert of "Change default OpenGL texture size from 256 to 2048".
Oct 23 2017, 2:14 PM
poke1024 added a comment to D8279: Delay purging of KisTextureTileInfoPoolSingleSize.

Hi @dkazakov, I applied the changes, but during final testing I found that the code currently does not free anything, as after changing the texture size to 2048, the freeThreshold of 64 is never reached (the number of allocated tiles is now around 7 to 10 in my tests). Lowering freeThreshold to 8 enables purging again, but this is really a problem related to freeThreshold and texture size, not this PR.

Oct 23 2017, 12:34 PM
poke1024 updated the diff for D8279: Delay purging of KisTextureTileInfoPoolSingleSize.

Switched from QTimer to KisSignalCompressor.

Oct 23 2017, 11:23 AM
poke1024 updated subscribers of D8280: Change the default texture size.

@dkazakov Just recognized that this change has implications for the pool sizes defined in kis_texture_tile_info_pool.h:

Oct 23 2017, 11:20 AM
poke1024 added a comment to D8172: Don't show lock, collapse in floating docks.

pushed.

Oct 23 2017, 9:51 AM
poke1024 committed R37:8bfa602133ac: Don't show lock and collapse icons in floating docks (authored by poke1024).
Don't show lock and collapse icons in floating docks
Oct 23 2017, 9:51 AM
poke1024 closed D8172: Don't show lock, collapse in floating docks.
Oct 23 2017, 9:51 AM

Oct 22 2017

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

pushed to master.

Oct 22 2017, 4:37 PM
poke1024 committed R37:c64d7fc36381: Better layer panel indication of droppability (authored by poke1024).
Better layer panel indication of droppability
Oct 22 2017, 4:36 PM
poke1024 closed D8057: Better layer panel indication of "droppability".
Oct 22 2017, 4:36 PM
poke1024 updated the diff for D8057: Better layer panel indication of "droppability".

Fixes performance problem in KisMimeData::retrieveData by not serializing nodes but using internal nodes instead. The functionality (i.e. namely first calling KisMimeData::tryLoadInternalNodes) now lives in the new function KisMimeData::loadNodesFast; it was originally inside KisMimeData::insertMimeLayers and there was no point in copy pasting that code to the place where the drop functionality now needs it.

Oct 22 2017, 4:29 PM
poke1024 added a comment to D8023: A better place for the OS X glFinish() fix.

@alvinhochun Hi Alvin, sorry for the late reply, I didn't see this one. I'm locally still testing using QT 5.9.1.

Oct 22 2017, 3:51 PM
poke1024 added a comment to D8418: Get (almost) rid of glFinish() on OS X.

I like QOpenGLContext::getProcAddress and it works here but it adds some more wrapper code: there needs to be a place to keep the ptr and having it inside KisTextureTile at least needs to pass in the OpenGL context when constructing the tile and then it's kind of ugly, looking up the function for each single tile. And having a whole wrapper like for fences is overkill here. In short, linking against the OpenGL framework IMHO produces more concise code changes here even though generally I'm also a getProcAddress advocator. But if we have Q_OS_OSX defined, we know we're in an ecosystem where that call is always available, and it's also not useful for other platforms. So unless adding an additional linked library is a bad hit which could cause problems (I'm not really knowledgeable about that I admit), I'd prefer the current approach.

Oct 22 2017, 1:49 PM
poke1024 created D8422: Add cache for KisIconUtils::loadIcon.
Oct 22 2017, 12:42 PM
poke1024 closed D8121: Touchpad gesture support for MacBooks.
Oct 22 2017, 11:57 AM
poke1024 added a comment to D8193: Fps limit configuration.

pushed to master.

Oct 22 2017, 11:54 AM
poke1024 committed R37:4cb82985c37e: Adds a user configuration for maximum fps for canvas updates (authored by poke1024).
Adds a user configuration for maximum fps for canvas updates
Oct 22 2017, 11:53 AM
poke1024 closed D8193: Fps limit configuration.
Oct 22 2017, 11:53 AM
poke1024 added a comment to D8193: Fps limit configuration.

the glSync functionality works for me as expected (e.g. glSync effectiveness: 0.0598802).

Oct 22 2017, 11:44 AM
poke1024 added inline comments to D8279: Delay purging of KisTextureTileInfoPoolSingleSize.
Oct 22 2017, 11:34 AM
poke1024 updated the diff for D8279: Delay purging of KisTextureTileInfoPoolSingleSize.

Renames version to numFrees which is a more accessible name.

Oct 22 2017, 11:33 AM
poke1024 added a comment to D8172: Don't show lock, collapse in floating docks.

@rempt Is this ready to land now? For some reason, even though you accepted the revision, the item as whole still shows up as "Needs Review".

Oct 22 2017, 11:17 AM
poke1024 added a comment to D8280: Change the default texture size.

pushed to master.

Oct 22 2017, 11:15 AM
poke1024 committed R37:7e81dc12f5e3: Change default OpenGL texture size from 256 to 2048 (authored by poke1024).
Change default OpenGL texture size from 256 to 2048
Oct 22 2017, 11:14 AM
poke1024 closed D8280: Change the default texture size.
Oct 22 2017, 11:14 AM
poke1024 added a comment to D8023: A better place for the OS X glFinish() fix.

Now superseded by D8418.

Oct 22 2017, 11:08 AM
poke1024 created D8418: Get (almost) rid of glFinish() on OS X.
Oct 22 2017, 11:07 AM