StrokesPlus.net
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
Matija  
#1 Posted : Sunday, June 27, 2021 10:59:14 PM(UTC)
Matija

Rank: Member

Reputation:

Groups: Approved
Joined: 6/11/2021(UTC)
Posts: 24
Croatia

Thanks: 6 times
Running programs via RunProgram() or RunOrActivate() seems to work quite slower than in old S+ (acRunProgram). I'm curious as to why this is. Shouldn't StrokesPlus.Net be able to do it faster, since it's built on a more native approach to Windows environment? Or am I mistaken?
Rob  
#2 Posted : Monday, June 28, 2021 12:00:07 AM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
The original S+ was native C++, where the new one is C# and .NET.

Native C++ will almost always be faster.

However, there were numerous reasons it makes the application far more complicated to develop (for me). Plus, with the .NET framework it exposes a lot more functionality by default than a purely native app. For example, so many things are already there for anyone to use, instead of me having to make acDoThis() and acFunctionJustForOnePerson().

Additionally, making the UI is substantially easier. Along with built-in international language support, which S+ didn't have, so some things wouldn't work for for non-latin languages.

So all of these reasons is why I chose to move to C# and .NET - it offers a much easier and more productive environment for me, which means more features and better UI.

The tradeoff is that we lose a little bit of performance.

All of that said, what kind of speed differences are you noticing?
Matija  
#3 Posted : Monday, June 28, 2021 12:57:44 AM(UTC)
Matija

Rank: Member

Reputation:

Groups: Approved
Joined: 6/11/2021(UTC)
Posts: 24
Croatia

Thanks: 6 times
I understand. I agree, S+.net really has more features and it promises a lot while already doing all the things I already depend on. These facts got me transferred to S+.Net and I don't look back. Running programs takes 1-1.5s longer now, at least on my system.

I do know about the cap in speed with C# and .NET generally. I just wasn't aware that it affects starting Windows applications as well.
Well, I guess I can live with that.

I'll say it again - you're doing the great job, Rob.
Rob  
#4 Posted : Monday, June 28, 2021 1:15:42 AM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Thanks!

So it's not likely .NET or C# itself, but likely the layers involved with the scripting engine, JavaScript parsing, invoking the S+ method to run the program. And of course the gesture and other logic which has a little more abstraction and additional checks for features added in the new version as well.

There's more overhead, but again with the benefit of more functionality.

I do plan to consider the options with .NET 6 later this year, as there have been a lot of performance improvements since the .NET framework has been deprecated.

However, it comes with some significant changes in how S+ works and especially all of the existing scripts out there.

But I also want to spend some time profiling and seeing how I can optimize the existing code to squeeze every last bit of speed I can. I'm sure there are probably many areas that have room for micro optimization.
Rob  
#5 Posted : Monday, June 28, 2021 2:46:04 AM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Also, are you running from script or Steps?

May not make a difference, but steps don't use the script engine.

Curious if it feels any faster for you.
Matija  
#6 Posted : Friday, July 2, 2021 3:13:44 PM(UTC)
Matija

Rank: Member

Reputation:

Groups: Approved
Joined: 6/11/2021(UTC)
Posts: 24
Croatia

Thanks: 6 times
Steps do not use the script engine? I didn't have that in my mind at all!
However, I now tried running the same thing solely via Steps and the speed feels exactly the same. So it doesn't seem to be making any difference for now...
Rob  
#7 Posted : Sunday, July 4, 2021 12:30:26 AM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Try running the Trace Version with everything checked in Trace Options.

In your script, put this right before your runprogram line:
Code:
sp.TraceLogEntry("RUN PROGRAM START");

and this immediately after:
Code:
sp.TraceLogEntry("RUN PROGRAM END");

Once you get the Trace options set and the script updated, close S+ Trace - then start, run your action to execute the program, then exit S+ to keep the logs to minimum.

Then drop the log file into pastebin or something so I can take a took.

Matija  
#8 Posted : Tuesday, July 13, 2021 9:31:56 AM(UTC)
Matija

Rank: Member

Reputation:

Groups: Approved
Joined: 6/11/2021(UTC)
Posts: 24
Croatia

Thanks: 6 times
Rob  
#9 Posted : Tuesday, July 13, 2021 1:59:11 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Hmm, from the time the stroke button is released until the script exits all happens within the same second (11:25:36).

The next line is WinEventProc which is when a different application has become the foreground window - which happens at the 37 second timestamp, but since I'm not logging milliseconds, it's hard to know where in the 36 second timeframe the previous events are occurring.

Either way, it seems like it's running fine especially when you take into considering that tracing/logging also adds overhead.
Of course, your mouse click (probably release script) is also taking some CPU time as well during this window of time, but again doesn't seem like anything significant.
Though, that does cause all qualifiers to be loaded, which when it comes to the EXE name is the heaviest call by far (that's for checking if the window where the click happened is ignored).

I know you weren't looking for some resolution, so I do appreciate you taking the time to send this as it at least helps me to see how things are working out in the world.
But from what I see, it looks like it's probably running about as well as expected - which still probably won't be as fast as a native application, though.

As I said before, I do want to spend some time micro-optimizing the gesture/application/action matching code to squeeze as much performance out od them as I can.


Code:
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: STROKE BUTTON UP - END CAPTURE
13.07.2021. 11:25:36: HookState.cs::StopCancelTimer(): HookTimerEvents: STOP CANCEL TIMER
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - DrawPoints.Count = 55
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - LeftMouseDown = True
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - LeftMouseDownBefore = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - MiddleMouseDown = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - MiddleMouseDownBefore = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - RightMouseDown = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - X1MouseDown = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - X1MouseDownBefore = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - X2MouseDown = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - X2MouseDownBefore = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - MouseWheelDown = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - MouseWheelUp = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - ControlDown = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - ControlDownBefore = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - AltDown = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - AltDownBefore = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - ShiftDown = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: MOUSE UP - ShiftDownBefore = False
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): CoreCaptureEvents: FIRE GESTURE
13.07.2021. 11:25:36: frmHint.cs::SetLocation(): curPos: x: 1170 - y: 918
13.07.2021. 11:25:36: frmHint.cs::SetLocation(): Screen Name: \\.\DISPLAY1
13.07.2021. 11:25:36: frmHint.cs::refreshTimer_Tick(): Exit function
13.07.2021. 11:25:36: frmHint.cs::refreshTimer_Tick(): In refreshTimer_Tick
13.07.2021. 11:25:36: frmHint.cs::refreshTimer_Tick(): About to hide frmHint
13.07.2021. 11:25:36: frmHint.cs::frmHint_VisibleChanged(): Left: -32768 - Top: -32768 - lblApp.Text:  - lblAction.Text: 
13.07.2021. 11:25:36: frmHint.cs::refreshTimer_Tick(): frmHint hidden: 13.07.2021. 11:25:36
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): In FireGestureThread()
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): secondaryStrokeButton = False
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): About to lock fireGesture
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): Checing drawPoint.Count and learningMode
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): DrawPointAssignments: Cloning drawPoints into lastDrawPoints
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): Clearing gesture
13.07.2021. 11:25:36: ServerState.cs::ClearGesture(): In ClearGesture()
13.07.2021. 11:25:36: ServerState.cs::SetWindowState(): Enter setWindowState
13.07.2021. 11:25:36: ServerState.cs::DeactivateSurfaceWindow(): setWindowState (3) - About to call ShowWindow
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): GetGestureName
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): Set gesture bounds and increment gesture match count
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): About to match action
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): GestureName: Down Right -  Secondary Stroke: False -  CtrlDown: False CtrlDownBef: False AltDown: False AltDownBef: False ShiftDown: False ShiftDownBef: False LeftDown: True LeftDownBefore: False MidDown: False MidDownBef: False RightDown: False RightDownBef: False X1Down: False X1DownBef: False X2Down: False X2DownBef: False WheelDown: False WheelUp: False
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Volume Down
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Volume Up
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Drag
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Close
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Max or Restore
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Viber 
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Center
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Enter
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Redo - repeating
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Scroll to Top
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Resize
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Open Settings
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Move to next monitor
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Refresh
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Move to current monitor
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Move to previous monitor
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Scroll to Bottom
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Minimize
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Unminimize
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Backspace
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Slack
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Shortcuts
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Escape
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Explorer
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Previous Tab (alt)
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Next Tab (alt)
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Restore
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: Spotify Play/Pause
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): Desc: LupoPenSuite
13.07.2021. 11:25:36: ApplicationMatching.cs::ActionMatched(): In ActionMatch (Either): matched: LupoPenSuite
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): About to init actionVars
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): matchedAction: LupoPenSuite
13.07.2021. 11:25:36: HookState.cs::ClearCaptureVars(): Entering ClearCaptureVars()
13.07.2021. 11:25:36: HookState.cs::ClearCaptureVars(): DrawPointAssignments: Clearing DrawPoints
13.07.2021. 11:25:36: HookState.cs::FireGestureThread(): Learning Mode - False
13.07.2021. 11:25:36: HookState.cs::FireGestureThread(): About to check !MouseWheelFiring && !InRockerMode
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): About to activate window
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): About to evaluate Before Action execution
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): Executing Script Engine
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): About to evaluate After Action execution
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): In Script Engine:Execute
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Getting Available Engine
13.07.2021. 11:25:36: ScriptEngine.cs::GetAvailableEngine(): About to Lock
13.07.2021. 11:25:36: ScriptEngine.cs::GetAvailableEngine(): Returning E0
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Done with Lock
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): E != NULL
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Executing Script:
 sp.TraceLogEntry("RUN PROGRAM START");
sp.RunOrActivate(home_path + '\\Dropbox\\LupoPenSuite\\Lupo_PenSuite.exe');
sp.SendModifiedVKeys([vk.LCONTROL,vk.LMENU], [vk.VK_P]);
sp.TraceLogEntry("RUN PROGRAM END");

13.07.2021. 11:25:36: RUN PROGRAM START
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): Mouse Click match
13.07.2021. 11:25:36: ApplicationMatching.cs::LoadApplicationQualifiers(): OwnerClassName: CabinetWClass
13.07.2021. 11:25:36: ApplicationMatching.cs::LoadApplicationQualifiers(): RootClassName: CabinetWClass
13.07.2021. 11:25:36: ApplicationMatching.cs::LoadApplicationQualifiers(): ParentClassName: SHELLDLL_DefView
13.07.2021. 11:25:36: ApplicationMatching.cs::LoadApplicationQualifiers(): ControlClassName: DirectUIHWND
13.07.2021. 11:25:36: ApplicationMatching.cs::LoadApplicationQualifiers(): OwnerWindowText: Log
13.07.2021. 11:25:36: ApplicationMatching.cs::LoadApplicationQualifiers(): RootWindowText: Log
13.07.2021. 11:25:36: ApplicationMatching.cs::LoadApplicationQualifiers(): ParentWindowText: ShellView
13.07.2021. 11:25:36: ApplicationMatching.cs::LoadApplicationQualifiers(): ControlWindowText: 
13.07.2021. 11:25:36: ApplicationMatching.cs::LoadApplicationQualifiers(): ControlID: 0
13.07.2021. 11:25:36: ApplicationMatching.cs::GetProcessPath(): WinAPI GetWindowThreadProcessId, pid: 11856
13.07.2021. 11:25:36: ApplicationMatching.cs::GetProcessPath(): WinAPI method  hProcess: 3196
13.07.2021. 11:25:36: ApplicationMatching.cs::GetProcessPath(): WinAPI method success, fileName: \Device\HarddiskVolume4\Windows\explorer.exe
13.07.2021. 11:25:36: ApplicationMatching.cs::GetProcessPath(): Returning path: C:\Windows\explorer.exe
13.07.2021. 11:25:36: ApplicationMatching.cs::LoadApplicationQualifiers(): AppPath: C:\Windows
13.07.2021. 11:25:36: ApplicationMatching.cs::LoadApplicationQualifiers(): AppImageName: explorer.exe
13.07.2021. 11:25:36: ApplicationMatching.cs::CriteriaMatched(): Criteria String: VMPlayerFrame Actual Value: CabinetWClass
13.07.2021. 11:25:36: ApplicationMatching.cs::CriteriaMatched(): [Regex] Criteria String: Wow.* Actual Value: explorer.exe
13.07.2021. 11:25:36: ApplicationMatching.cs::IgnoredApplicationMatched(): Window Not Ignored
13.07.2021. 11:25:36: ApplicationMatching.cs::CriteriaMatched(): Criteria String: SysListView32 Actual Value: DirectUIHWND
13.07.2021. 11:25:36: ApplicationMatching.cs::CriteriaMatched(): Criteria String: chrome.exe Actual Value: explorer.exe
13.07.2021. 11:25:36: ApplicationMatching.cs::CriteriaMatched(): Criteria String: Viber Actual Value: 
13.07.2021. 11:25:36: ApplicationMatching.cs::CriteriaMatched(): Criteria String: Slack.exe Actual Value: explorer.exe
13.07.2021. 11:25:36: ApplicationMatching.cs::CriteriaMatched(): Criteria String: thunderbird.exe Actual Value: explorer.exe
13.07.2021. 11:25:36: ApplicationMatching.cs::CriteriaMatched(): Criteria String: Chrome_WidgetWin_0 Actual Value: CabinetWClass
13.07.2021. 11:25:36: ApplicationMatching.cs::CriteriaMatched(): Criteria String: 1by1WndClass Actual Value: CabinetWClass
13.07.2021. 11:25:36: ApplicationMatching.cs::CriteriaMatched(): Criteria String: Notepad++ Actual Value: CabinetWClass
13.07.2021. 11:25:36: ApplicationMatching.cs::CriteriaMatched(): Criteria String: firefox.exe Actual Value: explorer.exe
13.07.2021. 11:25:36: ApplicationMatching.cs::SetApplication(): Set App: No App Match, Setting to Global App - hWnd = 526620
13.07.2021. 11:25:36: MouseHook.cs::MouseProc(): Mouse Click left click
13.07.2021. 11:25:36: [9] HookState.cs::FireMouseClick(): Mouse Click - Fire Script
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): In Script Engine:Execute
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Getting Available Engine
13.07.2021. 11:25:36: ScriptEngine.cs::GetAvailableEngine(): About to Lock
13.07.2021. 11:25:36: ScriptEngine.cs::GetAvailableEngine(): Returning E1
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Done with Lock
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): E != NULL
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Executing Script:
 if(!click.Down) {
    sp.StoreBool("DragWindow", false);
    sp.StoreBool("ResizeWindow", false);
    sp.StoreBool("hScroll", false);
}
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): About to lock
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Lock obtained
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Name 'DragWindow' exists, count: 0
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Adding 'DragWindow' as False
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Lock released
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): About to lock
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Lock obtained
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Name 'ResizeWindow' exists, count: 0
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Adding 'ResizeWindow' as False
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Lock released
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): About to lock
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Lock obtained
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Name 'hScroll' exists, count: 0
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Adding 'hScroll' as False
13.07.2021. 11:25:36: [9] ActionEngine.cs::StoreBool(): Lock released
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Calling Garbage Collection
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Too Many Script Errors - Successful execution, resetting
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Script Execution Complete
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Complete - Script Engine:Execute
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): in KeyboardProc
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): nCode: 0
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): SendKeysExecuting, calling next hook
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): in KeyboardProc
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): nCode: 0
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): SendKeysExecuting, calling next hook
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): in KeyboardProc
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): nCode: 0
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): SendKeysExecuting, calling next hook
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): in KeyboardProc
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): nCode: 0
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): SendKeysExecuting, calling next hook
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): in KeyboardProc
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): nCode: 0
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): SendKeysExecuting, calling next hook
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): in KeyboardProc
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): nCode: 0
13.07.2021. 11:25:36: KeyboardHook.cs::KeyboardProc(): SendKeysExecuting, calling next hook
13.07.2021. 11:25:36: RUN PROGRAM END
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Calling Garbage Collection
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Too Many Script Errors - Successful execution, resetting
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Script Execution Complete
13.07.2021. 11:25:36: ScriptEngine.cs::Execute(): Complete - Script Engine:Execute
13.07.2021. 11:25:36: [3] HookState.cs::FireGestureThread(): Exiting function
13.07.2021. 11:25:37: WinEventHook.cs::WinEventProc(): Enter WinEventProc
13.07.2021. 11:25:37: [1] HookState.cs::WinEventProc(): Foreground Window Changed, clear current token ()
Matija  
#10 Posted : Tuesday, July 13, 2021 11:38:41 PM(UTC)
Matija

Rank: Member

Reputation:

Groups: Approved
Joined: 6/11/2021(UTC)
Posts: 24
Croatia

Thanks: 6 times
I am glad you are trying to optimize and polish S+ still after all the hard work you've put in so far. If this is not the reason to donate, I don't know what is.
Whatever more data you need to further optimize the algorithms, I will be glad to help if I can.

Up to this point, I'm very much happy with how the S+.net performs, but I will probably suggest a couple of fixes/features more soon just to draw your attention to some ideas while the code is still fresh within your memory. So, don't get annoyed :)
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.