Menu

Commit [r879]  Maximize  Restore  History

- fixed a display format related issue in TableView and MatrixView

- did some speed optimziations, mainly on Matrix and the Undo/Redo system
(all tested with 10x100x100 Matrix::setCell() calls;
compiled with debug on; Qt-4.4.0; tested on a Core 2 Q6600)
1) The QUndoView history is now only shown on demand as a modal dialog.
speedup: 3340000 ms -> 2850 ms (3 orders of magnitude ... WTF does QUndoView do?)
2) Removed 3 calls to QString::arg() from MatrixSetCellCmd ctor.
speedup: -> 610 ms (another factor ~5)
Disadvantage: History entry texts are less detailed, but who cares?
3) Removed actions created by QUndoStack::undoAction() as they are constantly
notified by QUndoStack::undoTextChanged() which costs a lot of time.
speedup: -> 290 ms (another factor 2, a total of 4 orders of magnitude now)
4) Added new actions that are only connected to QUndoStack::can{Un|Re}doChanged().
Their text is only updated when the edit menu is activated.
slowdown from 3): -> 340 ms
Disadvantage of 3)+4): the tooltips of the undo/redo buttons in the toolbar
do not show the current command text. But I think this is worth a speed up
by 2 (or even more in case of more created undo actions) for possibly
every call to a QUndoStack method.
5) Qt-4.4 seems to be a lot faster, the same test as in 4) took 2100 ms when
compiled with Qt-4.3.3. There seems to be a lot of unneeded repainting
going on.

thzs 2008-05-17

changed /trunk/core/AbstractAspect.cpp
changed /trunk/core/AbstractAspect.h
changed /trunk/core/ProjectWindow.cpp
changed /trunk/core/ProjectWindow.h
changed /trunk/matrix/MatrixView.cpp
changed /trunk/matrix/matrixcommands.cpp
changed /trunk/matrix/matrixcontroltabs.ui
changed /trunk/table/TableView.cpp
/trunk/core/AbstractAspect.cpp Diff Switch to side-by-side view
Loading...
/trunk/core/AbstractAspect.h Diff Switch to side-by-side view
Loading...
/trunk/core/ProjectWindow.cpp Diff Switch to side-by-side view
Loading...
/trunk/core/ProjectWindow.h Diff Switch to side-by-side view
Loading...
/trunk/matrix/MatrixView.cpp Diff Switch to side-by-side view
Loading...
/trunk/matrix/matrixcommands.cpp Diff Switch to side-by-side view
Loading...
/trunk/matrix/matrixcontroltabs.ui Diff Switch to side-by-side view
Loading...
/trunk/table/TableView.cpp Diff Switch to side-by-side view
Loading...
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.