Ok… tested the nightly build. Pencil tool is now buttery smooth! Open, Save and import dialogue is broken as well as some other tools but everything is slowly falling into place now. Thank you so much feef and matt.
Here’s the compiled version for Ubuntu. I don’t know if it will work correctly on other linux distros as I only have ubuntu in my machine and I use QT 5.5.1 for compiling.
Its starting to look good, I occasionally look at github to see the activity and recently its been really active, which is awesome!
Unfortunately for me, the newest OSX 10.11 introduces some heavy modifications to how pen stabilization works it seems. It’s been a problem for pretty much every drawing/painting software so far, and its especially bad in Pencil2D for me. Making a stroke no matter how long or short, takes FOREVER and is completely unusable. Just take a look at this gif.
I believe it has something to do with the stabilization of the strokes, based on my experience with other programs doing the same thing and researching the subject.
@highkillerdk It’s obvious to me that we need to find a MAC developer soon. There’s been many reports that are geared towards OSX in general, but it’s hard to fix them if noone that knows how to code for Pencil2D has a MAC (as far as I know). We thank you and other MAC users for their patience, hopefully this can be addressed rather soon.
If the problem is related to the tablet driver on Mac OS and bad events handling within the QT framework, there is not much we can do…
The code that is painting the stroke on the screen is very straight forward. It is waiting for the tablet or mouse event to get the coordinates and it draws a dot with QPainter directly on the canvas QWidget object. Honestly, I don’t see how we can optimize that ?
@feeef It could very well be a problem in the tablet driver, or the QT framework, so i did some research and found a neat application to test my suspicion. It checks for the tablet input and outputs its coordinates like P2D, checking if you’re using a mouse or tablet, and draws on the canvas, but also some other things for easier debugging. The thing is though that i experience no lagging behind in this. There could be many reasons for that though, and i didn’t look too deep into the code, but i thought it would be interesting to share it nonetheless.
I tried roughly to compare how it’s doing drawing and checking compared to how P2D does it, but i’m simply not experienced enough in C++ to get something out of it.
My point with this is, that it might be something fixable when it’s not doing it in another application written in the same framework. Maybe it’s optimization but i don’t think it is. While the strokes are being produced, the cpu is not working at all.
Thanks @highkillerdk! I guess that someone with the same setup will have to investigate deeper. There must be a bit of code somewhere that is not well handled by your environment…
I have a mac here but it is too old to install 10.11.
Maybe, one temporary ugly solution if your mac is fast enough is that you setup a VirtualBox VM running a lightweight Linux distro (Lubuntu, Trisquel mini) and you use Pencil from there.
I am sorry for not being able to help you more than that at the moment.
New nightly build is out. Just tested it and I have to say that Pencil keeps getting better and better. Resize and rotate in bitmap layer works. Great job matt and feef!
Souns very good. Please post links to your Windows builds both 64 and 32. I can’t build myself anymore since this annoying ‘isnan’ problem appeared when building with Qt Creator. Would love to try out the new features.
Thank you again, feeef and matt for your devotion to pencil.
isnan is a macro function that determines if the value argument (the one inside parenthesis) is a NaN (Not-A-Number)
I basically replaced this over the toolmanager.cpp and the brushtool.cpp files where the errors were found and the program built successfully (plus a few warnings) despite this I couldn’t actually manage to execute Pencil but I hope this helps you guys to run the recent source code somehow since you have more expertise testing it.
Hey thanks for taking time looking into that. You where correct. That did it.
Funny I’ve looked at that statement several times myself, I just couldn’t just get it that it was this easy. Many thanks!!
To run the QT builds you can e.g. make a copy of the latest ‘official’ nightly folder and then you’ll have to copy a few dll’s from a bin folder under the c:\QT directories. Pencil prompts for each dll it want’s so just copy those to the root Pencil folder. Once you have your folder set up, you can place new exe files there when you build new ones. That works for me.
Thank you for your help. It didn’t work for me @manu. First error message “… could not find or load the Qt platform…”
“Available platform plugins are: windows”
Nightly build Dec 14 is out. (both windows and mac)
@oinkystudio could you share the linux builds via a shared folder? It would be convenient for everybody to download files, I can put the link on the top page.