NO

Author Topic: PRF View :: Pelles C profile file viewer  (Read 12267 times)

MrTopom

  • Guest
PRF View :: Pelles C profile file viewer
« on: October 12, 2005, 12:12:32 AM »
Hello,

As discussed in an other topic, I'll try to carry on the project PRF View.

There is a todo list of things to do of course and I would like users interrests in this tool and have ideas of needed improvement.

Thx

Offline Pelle

  • Administrator
  • Member
  • *****
  • Posts: 2266
    • http://www.smorgasbordet.com
PRF View :: Pelles C profile file viewer
« Reply #1 on: October 13, 2005, 02:22:36 PM »
It works pretty well for me as it is...

Pelle
/Pelle

MrTopom

  • Guest
PRF View :: Pelles C profile file viewer
« Reply #2 on: October 13, 2005, 11:56:48 PM »
We think (Alex and me) that Multiview, pellesC add-in, result sorting,... could be good ideas to add.

no ?

nitex

  • Guest
PRF View :: Pelles C profile file viewer
« Reply #3 on: October 14, 2005, 12:05:34 AM »
I'll post the long todo list i made for MrTopom. If nobody is interested in these features, MrToppom could save his time for other things so some comments would be nice.

Greets, Alex



- New window command

This could be useful, if one wants to compare different profiling sessions, you can open for example the pocc.prf and you have the possability to choose the profiling date and time in the browser window.

- Search

Could possibly be implemented through the webbrowser functions. Have a look at the end of webbrowser.c, there are some small functions i added which use the builtin webbrowser features to do various tasks. One needs to find the right OLE ID (OLECMDID_*) in the PSDK and add a function and menus for it. Useful if one is interested in a specific function.

- Statusbar

The statusbar has no useful implementation yet. To enhance it one could process the WM_MENUSELECT message while hovering the menus to display additional information or some status messages while the prf logfile is parsed.

- MRU list

A short list in the file menu, to access the recently opened prf files in quick way.

- Owner drawn button

The owner drawn button has some problems getting the correct font on some systems and then uses the system default font which looks quite ugly (see pic). This only happens with the themed version, you if rightclick on the prfview.exe and go to compatibility and disable the visual designs, you can check how the button would look like on Win98 and Win2000. The code could also be cleaned up by removing my function table to the uxtheme.dll and use delayed loading of uxtheme.dll instead. If the button was fixed it could be released as a seperate example in the forum for other users because many of them want to have icons on their buttons to enhance their user interface.

- Stringtables

The code has the strings for errors and messages directly in the code, putting them in stringtable resources instead would be more maintainable and offer the possability to add more languages.

- Addin for Pelles C IDE

The tool could be directly accessable through a button in the IDE, as far as i know, one can parse the current project file (ppj) and could get, how the current binary is named and replace the extension with prf to see, if there exists a profiler log. If it does, open and show it, if not offer the possability to create a profile build. Look at my addins dbgrelprf and dbgrelprf ANSI/UNICODE to get a first impression.

- Unicode version

Not that important but could be useful with path handling. Currently PRF View is limited in handling paths with MAX_PATH chars (260). I suppose it is possible to support longer pathnames with more than 32000 chars through unicode but i have no idea where to start with this.

- Template library and support

The template library should be a generic bunch of javascript functions in stdlib.js which would be useful, if the users want to modify the standard layout and how the logs are displayed. The users could modify the colors of the bars and so on. Something like SetFirstBarColor(); SetSecondBarColor() and so on. The current layout is just a quick hack from me to test funtionality of the parser. I could write this for you if you like or we could do it together, this is only javascript and html programming.

- More flexible way with generating the prf.js

Currently the data from the Pelles C profiler logs is written to the templates directory as prf.js, this could lead to problems if one runs more instances of the program with different opened profiler logs because the prf.js would be overwritten each time opening another log.

- Disable browser context menu

When rightclicking in the browser window of PRF View there pops up the standard menu from internet explorer, just a cosmetic problem but it would be nice if this menu is disabled or maybe can be replaced with an own template selection menu.

- Help contents with template writing tutorial

The help is currently not very helpful. Needs to be written, i think this can wait until the PRF View project progresses with more features.

- Better error checking

One never knows, in the current project state i have experienced no crashes so it is maybe sufficient. ;)

Offline Pelle

  • Administrator
  • Member
  • *****
  • Posts: 2266
    • http://www.smorgasbordet.com
PRF View :: Pelles C profile file viewer
« Reply #4 on: October 14, 2005, 07:35:47 PM »
I just meant with my previous post that it's working "well enough" to be very useful. Like every program in the world, it can (of course) always be improved. I guess it depends on how you use it.

Easier compare of the last run to the previous one, would be nice. Not critical, but nice. I usually test, look at the results, make changes, and test again to see if I'm making progress. If this can somehow be streamlined, it would be cool. (Making it into an add-in makes sense in this context).

I'm mostly interested in functions at the top of the list, so "search" isn't that important for me. MRU list could be useful, but I'm passing the .PRF file on the command line - which works too. "Cosmetic" stuff like statusbar, owner-draw buttons and so on, are always nice - but again, not critical.

Pelle
/Pelle

nitex

  • Guest
PRF View :: Pelles C profile file viewer
« Reply #5 on: October 14, 2005, 07:46:04 PM »
Thanks for your comment, other users!?

Greets, Alex

ivanhv

  • Guest
PRF View :: Pelles C profile file viewer
« Reply #6 on: March 20, 2006, 01:16:02 AM »
I agree with Pelles by that cosmetic changes should be the latest to be taken into consideration.

The point of MAXPATH seems pretty important to have it a look. But I think there is no real difficulties with that. Just put the flag for UNICODE when compiling (by defining UNICODE and _UNICODE_ before including Windows headers) and you'll have the whole thing. It's possible that the program doesn't work with UNICODE yet, but you'll override the MAXPATH limitation (because you'll be employing the UNICODE functions of the Win32 API). So I guess.

nitex

  • Guest
PRF View :: Pelles C profile file viewer
« Reply #7 on: March 20, 2006, 01:36:51 PM »
Quote from: "ivanhv"
I agree with Pelles by that cosmetic changes should be the latest to be taken into consideration.

The point of MAXPATH seems pretty important to have it a look. But I think there is no real difficulties with that. Just put the flag for UNICODE when compiling (by defining UNICODE and _UNICODE_ before including Windows headers) and you'll have the whole thing. It's possible that the program doesn't work with UNICODE yet, but you'll override the MAXPATH limitation (because you'll be employing the UNICODE functions of the Win32 API). So I guess.


The project is still frozen, nobody is working on it currently, but regarding the UNICODE build, it should be possible right now with a rebuild of the sourcecode. Perhaps some buffer sizes need to be adjusted, but that should be all. You can get the sourcecode here:

http://smorgasbordet.com/phpBB2/viewtopic.php?t=527

Offline Pelle

  • Administrator
  • Member
  • *****
  • Posts: 2266
    • http://www.smorgasbordet.com
PRF View :: Pelles C profile file viewer
« Reply #8 on: March 21, 2006, 07:41:56 PM »
Quote from: "nitex"
The project is still frozen, nobody is working on it currently, ...

Which is a pity, because I think it's a very useful tool...

Pelle
/Pelle