@alfkil
As you expect, there i am with my tests :))
So, first and imho important moment which imho will not bad somehow to update: the very long waiting of firstly runned QT apps (i think its the moment while fontconfig generation happens ?). Because for first running of any demos/example it take about 3-5 minuts without any saying what is happens.
Maybe you can add some callback (as we do in OWB), which will show to user (on the first running stage) progress bar of font idexation and all of this will be happens in the window, with words "you run QT app first time ! Qt should generate fontcache (as it use fontconfig) , so stay tuned ! It will happens only once !" , and while user have that reaction-based window with that words, progress bar at bottom of window show that font-indexation is happens.
Of course better to remove font-config dependence at all, and replace it by our font stuff (as joerg do for ra-owb) , but even notify window will be for sure better, in compare with just long waiting without any words what is happens.
btw. Where font-config cache file are writes ? In the same directory where qt installed ?
The next moment: its something wrong on my peg2/latest os4 with your minigl libs. All the apps which use opengl, works much-much slower with your libs, and much-much faster with public 2.5 ones. Maybe its related to peg2 itself, or even maybe its related that you have beta-version of OS components and something was fixed in it , dunno, but i think i should to point on that as well anyway.
So, lets test the stuff:
DEMOSAffineSlow. With your libs absolutly unusable and madness slow, with public 2.5 more or less usable, but as well just 2-3fps and i see how drawing of menu happens on running stage. But it works, runs/exits fine.
BooksMore or less fast, but after running i also see how drawing happens. Not slow as Affine of course, but visibly. Buttons reacts fast, but (i think again its because of our public buggy texture-trashing minigl), after i press 2-3 times on buttons, text just garbled by the black rectanlges. Check image:
chipAfter running it going to the line : GraphicsSystemFactory::create: "opengl" and then, 40-45 seconds of nothing happens. Then grey window (for 7-10 seconds), and then actual stuff draws. Then , if i move slider in the first area it scrolls more or less fine, but, if i tick "opengl", then everythinkg start to be slow like hell. Its with public minigl2.5. With your minigl/mglut everthing is start to be even worse :) Loading the same 40-45 seconds, but then grey window, 30 seconds of waiting before drawing is starts, and then usuall-for-your-opengl-libs-on-my-setup-madness-slowdown : redrawing takes about 2-3 minuts (to draw all the images), and i even not wait for the final redraw and just reboot.
embedded dialogsSlow. With minigl2.5 : 5-7 fps , with your one 1 (or less) fps.
mainwindowMore or less fine. I see redrawing on running through , and menu buggy: on some of them i cant choice anything, because its autocloses.
spreadsheetMore or less fine , but usuall slow a bit. And also changing of cursors fucks a bit. I.e. you start to sort out tables, cursor show you that you in sortable mode, then you move cursor on the scroll bar, and you still have that cursor like you sort the tables.
texteditFine one , but also a bit slow, cursor a bit fucks to detect what it mean , and as usuall after some usage on public minigl/warp3d trashing of textures :)
undoSlow.
In conclussion about Demos: I thinks after you add OpenGL support everythere, everything start to be slower in compare with just plain raw cpu. Dunno why, but i remember that for example EmbeddedDialogs was 100% faster in your initial releases , but now its just slow all the time. Cursor also a bit wrong detect when to be changes (in the demos where you can sort out tables, etc). Also everythere where you have "about" and "about QT" when user press on it, its firstly show some strange smal window over the whole screen, then close it, and then spawn about window.
ExamplesExamples/AnimationAnimatedtilesFast one. Feels good, looks good (with public minigl2.5) , but stack on exit with some DOS error about "process blablal", with your one : everything stat to be slow, and the same stack on exit.
appchooserFast, good
easingFast, good. Fast on scrolling, fast on moving, fast on pressing marks , etc. Feels very good (but with your minigl libs are slow as usuall on my setup). And same problems with cursor that it sometime start to be not what it should to be currently.
moveblockFast, good.
StickmanFast, good, after resizing to small window scrolling also fast and good.
Conclussion about Examples/Animation: good, fast and all is fine.
Examples/Drag&DropDraggableIconsAfter few drags DSI:
Quote:
Stack trace:
libQtGui.so:_ZNK7QWidget13internalWinIdEv()+0x18 (section 10 @ 0x3a950)
libQtGui.so:_ZN7QWidget18processIntuiEventsEP12IntuiMessage()+0xA54 (section 10 @ 0x1b1550)
libQtGui.so:_ZN24QGuiEventDispatcherAmiga13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE()+0x3F4 (section 10 @ 0x19de14)
libQtCore.so:_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE()+0x2C8 (section 10 @ 0x2f308c)
libQtCore.so:_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE()+0x2DC (section 10 @ 0x2f38d8)
libQtCore.so:_ZN16QCoreApplication4execEv()+0x2F8 (section 10 @ 0x2fce54)
libQtGui.so:_ZN12QApplication4execEv()+0x54 (section 10 @ 0x21948)
draggableicons:main()+0x4E4 (section 7 @ 0x41bc)
native kernel module newlib.library.kmod+0x00001f44
native kernel module newlib.library.kmod+0x00002b90
native kernel module newlib.library.kmod+0x00002d54
draggableicons:_start()+0x170 (section 7 @ 0x170)
native kernel module dos.library.kmod+0x0001b524
native kernel module kernel.debug+0x00063d50
native kernel module kernel.debug+0x00063dd0
If press ignore DSI, then DOS window with words : a process has attempter to re-close a closed file, process:draggableicons, fucntion : close() , and in shell:
Quote:
QCursorData::setBitmap()
QCursor: Cannot create bitmap cursor; invalid bitmap(s)
Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloclain widget as win
puzzleWorks fast , drags fast (through i see that images are blinks where i drag them, like there is not double-buffering), also on running some small window which autocloses, and looks like whole puzzle abit not centered or a bit wrong with chords .. Or i just dunno how it should to be :) But looks like a bit wrong:
Examples/Effects/lightingSlow
Examples/graphicsviewanchorlayoutMoving of window are very slow. Even slower if i use AmyCygnix and trying to move windowses in it.
basicgraphicslayoutMoving of window are slow.
collidingmiceWorks fast. But when i trying to drag by scrollbar, then DSI:
Quote:
Stack trace:
libQtGui.so:_ZN18QRasterPaintEngine5beginEP12QPaintDevice()+0x1F8 (section 10 @ 0x515194)
libQtGui.so:_ZN8QPainter5beginEP12QPaintDevice()+0x10AC (section 10 @ 0x3e3d24)
libQtGui.so:_ZN8QPainterC1EP12QPaintDevice()+0x250 (section 10 @ 0x3e46f8)
libQtGui.so:_ZN7QPixmap6scrollEiiRK5QRectP7QRegion()+0x2FC (section 10 @ 0x25c89c)
libQtGui.so:_ZN13QGraphicsView16scrollContentsByEii()+0x56C (section 10 @ 0x10d1010)
libQtGui.so:_ZN26QAbstractScrollAreaPrivate9_q_vslideEi()+0x8C (section 10 @ 0xc233f0)
libQtGui.so:_ZN19QAbstractScrollArea11qt_metacallEN11QMetaObject4CallEiPPv()+0x17C (section 10 @ 0xc2746c)
libQtGui.so:_ZN13QGraphicsView11qt_metacallEN11QMetaObject4CallEiPPv()+0x134 (section 10 @ 0x10d3fd0)
libQtCore.so:_ZN11QMetaObject8metacallEP7QObjectNS_4CallEiPPv()+0x114 (section 10 @ 0x30f97c)
libQtCore.so:_ZN11QMetaObject8activateEP7QObjectPKS_iPPv()+0x640 (section 10 @ 0x344818)
libQtGui.so:_ZN15QAbstractSlider12valueChangedEi()+0x6C (section 10 @ 0x11bbb80)
libQtGui.so:_ZN15QAbstractSlider8setValueEi()+0x148 (section 10 @ 0x9a6230)
libQtGui.so:_ZN15QAbstractSlider13triggerActionENS_12SliderActionE()+0x218 (section 10 @ 0x9a6468)
libQtGui.so:_ZN15QAbstractSlider17setSliderPositionEi()+0x110 (section 10 @ 0x9a6dd8)
libQtGui.so:_ZN10QScrollBar14mouseMoveEventEP11QMouseEvent()+0x474 (section 10 @ 0xb83824)
libQtGui.so:_ZN7QWidget5eventEP6QEvent()+0x25C (section 10 @ 0x148ccc)
libQtGui.so:_ZN15QAbstractSlider5eventEP6QEvent()+0x48 (section 10 @ 0x9a5ee0)
libQtGui.so:_ZN10QScrollBar5eventEP6QEvent()+0x1DC (section 10 @ 0xb85e90)
libQtGui.so:_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent()+0x248 (section 10 @ 0x1d630)
libQtGui.so:_ZN12QApplication6notifyEP7QObjectP6QEvent()+0x153C (section 10 @ 0x1ebc0)
libQtCore.so:_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent()+0x1E0 (section 10 @ 0x2fb788)
libQtCore.so:_ZN16QCoreApplication9sendEventEP7QObjectP6QEvent()+0x80 (section 10 @ 0x3093dc)
libQtGui.so:_ZN7QWidget18processIntuiEventsEP12IntuiMessage()+0xAF4 (section 10 @ 0x1b15f0)
libQtGui.so:_ZN24QGuiEventDispatcherAmiga13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE()+0x3F4 (section 10 @ 0x19de14)
libQtCore.so:_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE()+0x2C8 (section 10 @ 0x2f308c)
libQtCore.so:_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE()+0x2DC (section 10 @ 0x2f38d8)
libQtCore.so:_ZN16QCoreApplication4execEv()+0x2F8 (section 10 @ 0x2fce54)
libQtGui.so:_ZN12QApplication4execEv()+0x54 (section 10 @ 0x21948)
collidingmice:main()+0x81C (section 7 @ 0xc44)
native kernel module newlib.library.kmod+0x00001f44
native kernel module newlib.library.kmod+0x00002b90
native kernel module newlib.library.kmod+0x00002d54
collidingmice:_start()+0x170 (section 7 @ 0x170)
native kernel module dos.library.kmod+0x0001b524
native kernel module kernel.debug+0x00063d50
native kernel module kernel.debug+0x00063dd0
diagramscenePretty fast ! Drawing, typing, moving, rotating : all is more it less fine and fast ! Through the same curcor problems, and drawing of menus not very fast. But good enough.
dragdroprobotGood one :) Fast as well, but also looks like no-double-buffering, a bit blinking there and there, small visual glitches because of that, but overral fine and good :)
elasticnodesThe one of the best examples !! Very responsive !! Pretty fast, pretty good looking. I like it a lot ! The only problem that mouse wheel and + - as example says not works. But the whole its good. I can drag and move parts, and all is fine.
portedasteroidsFast one. Almost SuperStardust :) After resizing working area centered well as well , good.
portedcanvasWorks fine and fast. Menus as usually not-very fast , but the moving of pieces in the main working area are fast and good. Pretty "native" feel.
Examples/MainWindowsApplicationVery good in terms of typing in the main area. But still same "a bit slow" menu, and not native file-requesters also a bit not so fast. Also some windowses which autocloses. But what is good : typing of actual text and working with it (marking / deleting / pasting /etc) - are fast and good.
docwidgetsWorks, through resorting of areas slow (the same slow as moving of windowses), and all the othes usuall stuff with menu, cursor, etc.
mdiWorks, and must to say pretty fast (even moving of that window when you do "new").
Networks/DownloadManagerJust works. Almost Curl :)
OpenGL/2dpaintingSpeed of Native and Opengl - 1:1 the same. Also stack on exit with Minigl watch-dog , but i think its about the same problem for which you do your own libs. Also in shell it says:
Quote:
app.exec()
ASSERT: "realParent" in file kernel/qwidget.cpp, line 2521
***Command '2dpainting' returned with unfreed signals 1E000000!
OpenGL/HelloGLVery fast and respons. All works fine and very good. That one are for sure one of the good one.
Examples/Painting/basicdrawingWorks pretty fine. Drop-down menus a bit not fast, but overall are fast enough on my peg2.
concentriccirclesworks fine and fast even with resizing to big size.
fontsamplerWorks fine. Navigation over menu and fonts not ultra-fast, but fine enough.
imagecompositionWorks fine
painterpathsWorks fine
svggeneratorworks
svgviewerRendering are slow. 2-3 fps on default scene.
TransformationsWorks.
examples/tutorials/addressbook/part7Works
WidgetsAnalogClockworks fine
CalculatorWorks fine. Through not very fast redrawing after resizing (can see grey area).
calendarwidgetNot very fast on loading, take few seconds after grey screen is happens, then fast drawing (but still i can see how it draw fast), and then all is fine. Works and so on.
codeeditorFast as native.
Digital Clock, GroupBox, Lineedits, Sliders and all the others - works, and actually all works, but the same small problems like a bit slow menus, a bit not fast initial drawing (and whole redrawing) and so on. Some of them very fast and respons. , but some of them (expectually those ones, with heavy menus, etc) are not.
In end of all of test what i can say:
You do really hard job ! I am not sure that anyone else will be brave enough to take such kind of works for yourself, and be at the stage where you already with that. Its of course have still some "thinkg on which need to works", but overall its pretty interesting to play with.
Now there is some "what need to do from users point of view" (if you doesnt mind of course:) ) :
Need to add some user-friendly window about font-cache-generation
Need to fix cursor to detect when need to change state correctly
Navigation over the menus a bit slow
Some examples are very slow because of OpenGL problems (imho)
Moving of windowses sometime very slow (the same OpenGL problems imho)
Add where it possible put amigaos analogs (asl and crap).
Stedup and one more spedup everything where is posible. Some examples looks pretty slow on my peg2 (where all the menus, buttons, markable labels, drop down menus and alt).
Add amiga-style theme (if possible of course)
That all about what i can think for now.. Personally for me the only SpedUp are matter, to make just everything works fast, and almost as native , other ones are not so important.