Winstep

Software Technologies


 Winstep Forums


Print view
Board index : Winstep Forums : General Discussion  [ 235 posts ] Go to page Previous  1 ... 11, 12, 13, 14, 15, 16  Next
Author Message
 Post subject: Re: So, what's next after v18.3?
PostPosted: Sun May 27, 2018 10:12 am 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
winstep wrote:
Ok, so the Dock Unique IDs used to identify docks by NextSTART were not being unique after all - forgot that I needed to preserve those IDs when opening sub-docks that inherit parent settings, so in this beta sub-docks can end up having the same ID as the parent.

Not a biggie, I already fixed it here and also added validation code to fix the issue in the official release for all those who run this beta.

This only becomes a problem in the beta if you detach a sub-dock and then try to access it from NextSTART - you will get the parent dock instead.


also a problem when making a duplicate of dock
(my preferred method, so to automatically have most of the dock settings set up as i like)

It takes a while for nextstart to see a newly made dock, even a restart of both nextstat and workshelf

can you make button background transparent, only to have icon visible as you can with docks?

if the dock is enabled you cannot access dock properties trough context menu, you can only acces icon/item properties
if you want to change dock properties you have to go to workshelf preferences
same if you want to enable the dock


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Sun May 27, 2018 4:16 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
seeker wrote:
also a problem when making a duplicate of dock
(my preferred method, so to automatically have most of the dock settings set up as i like)


Yes, and both issues have been fixed.

This is the hard part about changing code that has been there for a very loooong time, the code is no longer fresh in your memory and there are a lot of interactions you no longer remember about.

seeker wrote:
It takes a while for nextstart to see a newly made dock, even a restart of both nextstat and workshelf


This is because of WorkShelf's 'delayed save' feature.

When you make certain changes to a dock or the Shelf that would require the whole internal structure to be saved to maintain consistency, the application doesn't save those changes immediately. This would take too long - imagine deleting an icon in the dock or Shelf and then the whole thing freezing for over a second while the application is busy saving everything into the Registry (and that this would happen EVERY SINGLE TIME you deleted or added an icon - ouch!).

Instead, the application sets a flag that a save is required, but it will only actually save the data when you finally exit the application or when it has been idle for over a minute (i.e.; you haven't moved the mouse pointer over a dock or Shelf for that long).

The latter will happen when you are either working on other applications or away from your computer, and since in both cases you won't notice the application being unresponsive for a little while it uses that occasion to actually commit all the data to the Registry.

This is why WorkShelf crashing can result in lost changes... or not, if those changes have already been committed to the Registry in the mean time.

So, NextSTART goes directly into WorkShelf's Registry hive to make a list of available docks, and that works fine provided WorkShelf has already committed all the changes. But if not...

I'll see what I can do (probably force WorkShelf to commit any pending changes just before getting the list). :)

seeker wrote:
can you make button background transparent, only to have icon visible as you can with docks?


Not for this release. Anything related to hotspot buttons means dealing with very ancient code (NextSTART was the first Winstep application, so some of that code is nearly 20 years old) and I must be very careful when doing that.

seeker wrote:
if the dock is enabled you cannot access dock properties trough context menu, you can only acces icon/item properties
if you want to change dock properties you have to go to workshelf preferences
same if you want to enable the dock


Yes, because WorkShelf see's a disabled dock as if it were a sub-dock.

It will probably stay that way for this release, while I figure out all the implications of allowing the Dock Properties panel to be accessed in this state.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Sun May 27, 2018 5:12 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
winstep wrote:
I'll see what I can do (probably force WorkShelf to commit any pending changes just before getting the list). :)


Ok, the list of available docks in NextSTART is now always up-to-date.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Sun May 27, 2018 11:23 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Ahah, guys... I think I just made mousing over the dock about 25% faster (or 25% less CPU intensive) than before.

Every time something changes in the dock (for instance, a module is updated, an effect animation switches to the next frame, etc...) the image of the dock on the screen needs to be updated to reflect those changes.

I was reading about FPS (Frames Per Second) regarding games and I got curious at how many FPS the dock was being rendered at (i.e.; how many times per second was it being repainted) when mousing over it with effects enabled, etc...

So I was kind of blown away when I saw numbers higher than 130 frames per second when very quickly moving the mouse pointer back and forth over it. Keep in mind most monitors refresh at 60 FPS, so anything higher than that are just wasted repaints.

So, first thing I did was check the synchronization of the mouseover animations: imagine you mouse over 20 icons in less than a second, now you have 20 icons displaying the mouseover animation at the same time, although each icon is in a different stage of that animation (some just starting, others already finishing). The timer to render animations fires 100 times per second (i.e.; every 10 ms), but the speed of most animations is much lower than that, each animation frame lasting 30 ms or more (it depends on the effect, some animations play faster than others).

It's important to sync all those mouseover animations so they ALL switch to the next frame in the very same pass of the timer event - this way the icons all get repainted at once in a single pass. This makes things faster because most mouseover animations will overlap more than the icon they are playing on - so for each icon playing the mouseover animation you end up having to redraw 3 icons instead of just one (the icon where the mouseover animation is playing, plus the icon to the left of it and the icon to the right of it).

If the animations are synced, the dock only needs to be repainted (which can be very CPU intensive) every 30 ms or whatever the frame rate of that particular animation is. If they are not synced, then the dock could end up having to be repainted every 10 ms (100 times per second) instead of just every 30 ms (about 33 times per second).

I was already doing this, but I found an error that caused the mouseover animations to lose sync over time. I fixed that, and it helped quite a bit.

But the really BIG gains came from the magnify effect. Every time the mouse pointer moves over a dock, the dock receives a mouse_move event notification. You can get hundreds of these notifications per second, depending on how fast the mouse pointer is moving, how busy the application is, etc...

Turns out I was repainting the dock every single time I got a mouse_move notification, to update the position and size of the magnified icons according to the position of the mouse pointer over the dock, and even though I already use a TON of complicated tricks to speed things up a LOT (e.g.; instead of always repainting all the icons in the dock I only redraw those that really need to be repainted, etc) each repaint still has a cost in terms of CPU usage.

So I limited the number of times the magnified icons are updated to roughly 66 frames per second (i.e.; once every 15 ms - the dock is only repainted if at least 15 ms have elapsed since the last time it was repainted). This, together with the fix to the animation sync, immediately brought the maximum FPS rate to around 80 FPS, down from the previous 130+.

And so, if before I could max out (100% usage) one of my CPU cores at 4.5 Ghz by constantly moving the mouse pointer back and forth over my 39 icon dock with the magnify and smoke mouseover animations playing, now I can only get it to use about 70%-80% no matter how hard I try.

In terms of smoothness of the magnify animation, sincerely I can't really notice a difference (I even made a blind test with someone else here, to see if they could spot a difference, they said they couldn't). The 60 Hz of the monitor refresh rate was already limiting the number of times the user could see a change in the dock to 60 frames per second anyway.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Mon May 28, 2018 6:57 am 
Offline

Joined: Thu Oct 05, 2017 1:28 pm
Posts: 157
winstep wrote:

Quote:
Ahah, guys... I think I just made mousing over the dock about 25% faster (or 25% less CPU intensive) than before.


That is very handy indeed! Not just for laptop users, but for desktop users doing heavy multitasking or just having 2-3 resources hungry apps running! Thumbs up for that Jorge!


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Mon May 28, 2018 8:48 am 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
Is it possible to have the dock on fixd position (unattached to QL button) yet only activate by QL, not by edge bump/swipe?


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Mon May 28, 2018 9:03 am 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
when launching with keyboard shortcut while running a fullscreen app dock attached to QL appears in different position

posistion when normaly launched from QL:
http://prntscr.com/jnigtf
Image

position while running a fullscreen game:
http://prntscr.com/jnihxf
Image

position set while dock is enabled in workself:
http://prntscr.com/jniiju
Image


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Mon May 28, 2018 3:17 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
seeker wrote:
when launching with keyboard shortcut while running a fullscreen app dock attached to QL appears in different position


When invoked from NextSTART, NextSTART does not tell WorkShelf where to pop up the dock - instead the docks pops up horizontally centered to the current mouse pointer position, above or below it according to which vertical half of the screen the cursor is on.

So, when you invoke a NS hotspot by keyboard, the dock will appear wherever you mouse pointer currently is, which might not be anywhere near the hotspot button.

Finally, all this popping up here and there changes the position coordinates of the dock - if you then re-enable the dock, it will appear in WorkShelf where it popped up the last time you invoked it from NextSTART.

P.S. Witcher 3 - Best game EVER!!!! :)

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Mon May 28, 2018 3:57 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
seeker wrote:
Is it possible to have the dock on fixd position (unattached to QL button) yet only activate by QL, not by edge bump/swipe?


You mean a docked dock that auto-hides (as opposed to a floating dock)? No - how would you activate it if NextSTART is not running?

I do understand what you mean, but think of the children! :P

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Mon May 28, 2018 4:04 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Vlad wrote:
That is very handy indeed! Not just for laptop users, but for desktop users doing heavy multitasking or just having 2-3 resources hungry apps running! Thumbs up for that Jorge!


Thanks. Because we already have monitors with 144Hz+ refresh rates, I've changed the code so it is now limited to that monitor's refresh rate, instead of a fixed 60 Hz.

On 60Hz monitors you would not notice any changes in the smoothness of the magnify animation as you quickly mouse over the dock, but on monitors with refresh rates higher than that you might (I don't have a 140Hz monitor to test this out) - so just playing it safe here!

I think that the Windows DWM (Desktop Windows Manager) also limits the frame rate though.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Mon May 28, 2018 5:17 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Renaming a playlist in the Media Player Settings dialog or the Alarm Audio panel now automatically updates all alarms (and also the Media Player) pointing to the old name so they now point to the new name.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Mon May 28, 2018 5:25 pm 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
winstep wrote:
seeker wrote:
Is it possible to have the dock on fixd position (unattached to QL button) yet only activate by QL, not by edge bump/swipe?


You mean a docked dock that auto-hides (as opposed to a floating dock)? No - how would you activate it if NextSTART is not running?

I do understand what you mean, but think of the children! :P


same as now, you wouldnt, not much would change from users point of view ecvept that dock would always appear in fixed position no matter where the mouse cursor is

on the other hand if it would require a lot of code then i understand that its not worth it
(for now i use NS just for QL for one dock that i want to be able to use when running full screen games that dont play well with show desktop, ie i alt-tab or press windows key and some games still overlays desktop and shelf+docks that arent set always on top. i still have to play with NS to discover its potential uses to me)


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Mon May 28, 2018 5:36 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
The application is set in such a way that docks hidden to the screen edge can always be activated by bumping or swiping that same screen edge. Floating docks don't need this because when they collapse the control icon becomes/is still visible.

Hotkey settings are thus always secondary activation methods.

This said, I suppose I could add another hotkey activation method, 'NextSTART Hotspot only' (or something like that) which would disable edge bump/swipe activation for THAT particular dock.

P.S.- Edited above but probably too late for you to read it, so here it goes again: Witcher 3, BEST GAME EVER!!!! :)

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Mon May 28, 2018 6:25 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
winstep wrote:
This said, I suppose I could add another hotkey activation method, 'NextSTART Hotspot only' (or something like that) which would disable edge bump/swipe activation for THAT particular dock.


And this is exactly what I just did.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.3?
PostPosted: Mon May 28, 2018 8:12 pm 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
winstep wrote:
winstep wrote:
This said, I suppose I could add another hotkey activation method, 'NextSTART Hotspot only' (or something like that) which would disable edge bump/swipe activation for THAT particular dock.


And this is exactly what I just did.

you are the best :)


Back to top
 Profile  
 
Post new topic Reply to topic Board index : Winstep Forums : General Discussion  [ 235 posts ] Go to page Previous  1 ... 11, 12, 13, 14, 15, 16  Next
Display posts from previous:  Sort by  

Who is online

Users browsing this forum: Google [Bot] and 65 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron