0
0
mirror of https://github.com/yse/easy_profiler.git synced 2024-12-28 01:04:41 +08:00

76 Commits

Author SHA1 Message Date
Victor Zarubkin
721c145450 (profiler_gui) Added possibility of changing current scale using mouse wheel on minimap under graphics scene 2016-08-21 16:48:42 +03:00
Sergey Yagovtsev
7a87d681a1 (profiler gui) fix style warning by cppcheck analizer 2016-08-19 00:35:05 +03:00
Victor Zarubkin
8f30948105 (profiler_gui) Reading file (MainWindow) and building blocks hierarchy (TreeWidget) in separate threads + displaying read progress;
(profiler_gui) Moving sources into separate files;
(profiler_gui) Rename Prof* classes into Easy*;
(EasyGraphicsView) Optimized performance by not painting items which were not expanded in TreeWidget. While there are no range selected for TreeWidget, only top-level blocks are painted on scene.
2016-08-18 23:26:41 +03:00
Victor Zarubkin
24f181c040 (profiler GUI) high memory consumption optimizations: ~20 bytes per block 2016-08-11 23:43:34 +03:00
Victor Zarubkin
9f48bf6e21 (profiler_gui) refactoring;
(ProfGraphicsView) Added separate background drawer item; Added timeline scale drawing;
2016-08-10 22:08:27 +03:00
Victor Zarubkin
66709981a8 (ProfGraphicsView) Fixed Windows compile errors 2016-08-09 01:24:49 +03:00
Sergey Yagovtsev
fd0ef209f8 Select encoding for block`s name.
Create unused widget for threads.
2016-08-09 00:45:45 +03:00
Sergey Yagovtsev
164eaa519d Warning fix 2016-08-08 22:45:57 +03:00
Victor Zarubkin
f0f82c01e2 (ProfGraphicsView) Selecting items on scene;
(ProfGraphicsView) Clickable indicators of ProfChronometerItem;
(ProfTreeWidget) Jump to items on scene from ProfTreeWidget;
(profiler GUI) Fixed typos and warnings;
2016-08-08 22:17:56 +03:00
Victor Zarubkin
57654670f0 (ProfGraphicsView) Displaying additional chronometer item on mouse double click and move. This item is used just to measure time. This is not affecting tree displayed in ProfTreeWidget. 2016-08-06 14:50:31 +03:00
Victor Zarubkin
4f0fabdfd6 (profiler Reader) Added block_index field and replaced pointers SerilizedBlock* to block indexes;
(profiler GUI) Added plain vector of ProfBlocks (additional information for gui) for fast access;
(ProfGraphicsView) Removed unnecessary methods; small refactoring;
(ProfTreeWidget) Removed unnecessary map of tree items;
(ProfGraphicsScrollbar) Added colorizing of minimap (green = low duration, red = long duration);
2016-08-04 22:38:45 +03:00
Victor Zarubkin
55cd5a5751 (profiler Reader) For memory consumption optimization created BlocksTreeRoot class and move thread_name field from BlocksTree to new created class;
(profiler Reader) Added self_duration field for statistics;
(profiler Reader) Removed #ifdef macros;
(profiler Reader) moved BlocksTree, BlocksTreeRoot and thread_blocks_tree_t types inside profiler namespace;
(profiler GUI) Added globals.h and globals.cpp containing global variables and signals; Added profiler_gui namespace;
(ProfTreeWidget) Added context menu "Select columns" to make it possible to hide columns;
(ProfTreeWidget) Added percent statistics for blocks (Self %, Parent % and Frame %); Added displaying of total thread duration;
(ProfGraphicsScrollbar) Added context menu to make it possible to choose which thread to display on minimap;
(ProfGraphicsView) Highlighting currently selected thread;
2016-08-03 23:00:04 +03:00
Victor Zarubkin
4db8d4fbb6 (GraphicsScrollbar) Added mini-map which shows duration of blocks relative to each other;
(GraphicsScrollbar) Also added displaying of chronometer item position in graphics scrollbar.
2016-08-03 00:06:36 +03:00
Victor Zarubkin
b0f6b3f268 (GraphicsView) Fixed test();
(GraphicsView) Added a lot of comments;
(GraphicsView) Changed base unit from milliseconds to microseconds;
(GraphicsScrollbar) Fixed fluttering on very small scale;
(GraphicsView)+(TreeWidget) Chronometer item behavior: if selection made from left to right - selecting all items by intersection with rectangle; if selection made from right to left - selecting all items which are strictly inside selection rectangle.
2016-08-01 22:21:59 +03:00
Victor Zarubkin
bb0f2d3cd4 Added chronometer graphics item which shows time interval on graphics scene (Press right mouse button and move mouse on graphics scene). Also, all items from selected interval will be shown in tree widget. 2016-07-31 18:48:41 +03:00
Victor Zarubkin
c943431104 (GraphicsView) Using GraphicsScrollbar with qreal values instead of standard QScrollBar with int values.
(GraphicsView) Does not use standard QGraphicsView::scale and QGraphicsView::centerOn methods, does not use standard QScrollBar because of it's fast value overflow. Using manual offset for all scene items instead of standard scrolling.
2016-07-31 13:13:48 +03:00
Victor Zarubkin
5b7364b0bd Flicker functionality for profiler gui on QWidgets 2016-07-27 22:52:13 +03:00
Victor Zarubkin
03fb3f271f Scene paint fixes and optimization 2016-07-27 21:50:11 +03:00
Victor Zarubkin
f734104280 (GraphicsView) New draw method with one GraphicsItem for the whole scene (testing) 2016-07-10 01:31:29 +03:00
Victor Zarubkin
fa270ea3f2 (GraphicsView) More effective memory consumption 2016-06-30 03:45:11 +03:00
Victor Zarubkin
5ca4158abf Highly optimized painting algorithm and memory consumption for Profiler GraphicsView 2016-06-30 02:57:57 +03:00
Victor Zarubkin
30d9e7645f (Graphics view) Disabled border lines painting because of vertical lines painting bug;
* (Graphics view) Changed height of blocks. Variable thread-block height;
* (Tree widget) Disabled sorting by name to save order of threads displayed on graphics view;
* (Profiler reader) Changed type of value returned by fillTreesFromFile().
2016-06-27 23:22:12 +03:00
Victor Zarubkin
e6c105561a added main window with both graphics view and tree widget;
* further improvement of graphics view: highly improved scene scaling and added scene drag with left mouse button pressed.
2016-06-26 20:54:16 +03:00
Victor Zarubkin
98035ae705 renamed gui classes from My* to Prof* 2016-06-26 19:06:53 +03:00
Victor Zarubkin
1435e80cef added headers for source files 2016-06-26 18:56:40 +03:00
Victor Zarubkin
1d66f4f641 moved gui sources to .h and .cpp 2016-06-26 18:46:51 +03:00