ACC Results Companion

Misc ACC Results Companion 1.24.0

Login or Register an account to download this content
First of all, many thanks for the hard work to develop such a value adding tool!

I do have two additional questions, as we want to drive a 24h race, based on a customized weekend. Even a team like the Porsche Herberth with 4 drivers, only 3 names are shown in the menu to swap the drivers.

- is it able to record 24 hours and if yes
- is it able to analyse the performance of each of the three drivers?

Thanks in advance for any reply!

To be honest, I'm not really sure - I've never been in a position to test races with driver changes, or very long events.

There might be an issue not recording the first driver(s) if you are not driving first. Historically, it was difficult to tell when races started, so I only started recording after I saw the player had completed the first lap. I might play around at the weekend to see if I can get away without it (so you can "spectate" the first stint).

I'm not entirely sure how the different drivers will be presented. There's a workaround for single player that substitutes the player name for the virtual driver(s) - this might get in the way.

Finally, nothing is written until the end of the race - for a 24 hour race, that will be a significant amount of data - for a field of 50 cars at Silverstone, that will be around 36,000 laps in total to store - probably around 20MB. I'm not sure if this will create problems as I've never tested this scenario before.

However, I've be very keen for you to upload the diagnostics after you complete the race so that I can see how the raw data is presented to allow me to improve this area.
 
@LeFreaky - regarding your issue you mentioned in your review...

I've been changing the way all the combo boxes build their data, and it looks like the released version doesn't get the trigger to start populating these. (I think a few combo boxes may be affected)

I'll fix in the next release
 
Hi,
I sounds like you configured the broadcast info correctly. Can you upload the diagnostics - right click anywhere in the session list and select Export Diagnostics.

ZKqEjNc.png


After a few moments, the following dialog will show
NP6IzLS.png


Press Continue and the diagnostics will upload to me and I should be able to see what is happening. Let me know the user ID that is generated (the Copy button copies it to the clipboard)

Great, cheers for looking into this! ID is: Z3gLlwCVIe8-0uHffGPRvyfPFNse0e2CSAHygWxqBjY

Once again, thanks for making this excellent tool :)
 
Great, cheers for looking into this! ID is: Z3gLlwCVIe8-0uHffGPRvyfPFNse0e2CSAHygWxqBjY

Once again, thanks for making this excellent tool :)

Right...I think I see what is happening. Quick summary of events:-

Code:
13/1 21:00 UDP not set up
13:1 21:24 Silverstone SP race not recording. No race file found at end of race
13/1 21:53 UDP not set up
13/1 21:56 UDP now set up
13/1 21:57 Silverstone SP race monitored
13/1 21:57 race abandoned
13/1 21:58 New Silverstone SP race monitored
13/1 22:13 Race exited - No race file detected
13/1 22:16 New Silverstone SP race monitored
13/1 22:41 Race exited - No race file detected
13/1 23:05 UDP not set up again (was the ACC broadcasting.json file deleted?)
13/1 23:09 SP Silverstone race could not be monitored - no UDP connection
14/1 00:04 UDP now set up
14/1 00:06 New MP Silverstone race detected
... various races joined, then abandoned
14/1 00:14 New MP Silverstone race detected
14/1 00:28 Session change detected - old session saved

A few things ARC needs to work
  • The ACC Broadcast/UDP file must be configured. Until that is done, races won't record properly. You now have that set up ok
  • A peculiarity of SP races at the moment is that the ACC race results file must be found (basically it is the only way I have of supporting resumed races). However, ACC will only write this at the very end of the race (after the last car crosses the line or until the 3 minute end of race timer runs down). If you exit the race before this, the race won't be saved, and therefore won't be picked up by ARC. I think this is what has happening in all your SP races
  • Everything else (MP race/quali/practice and SP quali/practice/hotlap etc) only uses the broadcast interface. Sessions will be written as long as you have completed one lap when it detects the session ending
 
Last edited:
To be honest, I'm not really sure - I've never been in a position to test races with driver changes, or very long events.

There might be an issue not recording the first driver(s) if you are not driving first. Historically, it was difficult to tell when races started, so I only started recording after I saw the player had completed the first lap. I might play around at the weekend to see if I can get away without it (so you can "spectate" the first stint).

I'm not entirely sure how the different drivers will be presented. There's a workaround for single player that substitutes the player name for the virtual driver(s) - this might get in the way.

Finally, nothing is written until the end of the race - for a 24 hour race, that will be a significant amount of data - for a field of 50 cars at Silverstone, that will be around 36,000 laps in total to store - probably around 20MB. I'm not sure if this will create problems as I've never tested this scenario before.

However, I've be very keen for you to upload the diagnostics after you complete the race so that I can see how the raw data is presented to allow me to improve this area.

@zego25 1.9.10 will now record even if you don't complete a lap. This might help with driver changes
 
Right...I think I see what is happening. Quick summary of events:-

Code:
13/1 21:00 UDP not set up
13:1 21:24 Silverstone SP race not recording. No race file found at end of race
13/1 21:53 UDP not set up
13/1 21:56 UDP now set up
13/1 21:57 Silverstone SP race monitored
13/1 21:57 race abandoned
13/1 21:58 New Silverstone SP race monitored
13/1 22:13 Race exited - No race file detected
13/1 22:16 New Silverstone SP race monitored
13/1 22:41 Race exited - No race file detected
13/1 23:05 UDP not set up again (was the ACC broadcasting.json file deleted?)
13/1 23:09 SP Silverstone race could not be monitored - no UDP connection
14/1 00:04 UDP now set up
14/1 00:06 New MP Silverstone race detected
... various races joined, then abandoned
14/1 00:14 New MP Silverstone race detected
14/1 00:28 Session change detected - old session saved

A few things ARC needs to work
  • The ACC Broadcast/UDP file must be configured. Until that is done, races won't record properly. You now have that set up ok
  • A peculiarity of SP races at the moment is that the ACC race results file must be found (basically it is the only way I have of supporting resumed races). However, ACC will only write this at the very end of the race (after the last car crosses the line or until the 3 minute end of race timer runs down). If you exit the race before this, the race won't be saved, and therefore won't be picked up by ARC. I think this is what has happening in all your SP races
  • Everything else (MP race/quali/practice and SP quali/practice/hotlap etc) only uses the broadcast interface. Sessions will be written as long as you have completed one lap when it detects the session ending
Hi Doug, thanks for the feedback!

I will keep on with the tool and see if the SP races are pushed from the Log tab. It is already very useful from the MP races I have participated in, what a great piece of work!

Regarding the Broadcast/UDP file, it should not be impacted by running a VPN, should it? I have NordVPN all the time, and the protocol used is BroadLynx instead of UDP. I could always test it with split tunneling. Just curious.
 
...
Regarding the Broadcast/UDP file, it should not be impacted by running a VPN, should it?
...
Absolutely no impact. ACCR UDP broadcast connect to your local loopback IP (localhost or 127.0.0.1).

Hi Doug,
Found two things in 1.9.10
First, an error occurs during shutdown sequence (context is after one SP hotstint session in ACC)
Doesn't seem to lead to any issue though.
Code:
[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : *** Form close requested ***
[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : Saving registry and OLV settings
[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : Send Process Status Thread stop event
[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : Send Shared Memory/Broadcast Thread stop event
[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : Send DB Writer Thread stop event
[00000005] 2021-01-16 20:39:49 INFO ARCProcessStats.MonitorMemory : *** Memory monitor closing ***
[0000000A] 2021-01-16 20:39:49 DEBUG ARCSharedMemoryMonitor..ctor : Stop event received
[00000006] 2021-01-16 20:39:49 INFO DBWriterTask.ProcessDbRequest : Stop event received
[00000006] 2021-01-16 20:39:49 INFO DBWriterTask.ProcessDbRequests : *** DB Writer task closing ***
[0000000A] 2021-01-16 20:39:49 ERROR ARCSharedMemoryMonitor.storeSession : Exception storing session - Sequence contains no elements
   at System.Linq.Enumerable.Average(IEnumerable`1 source)
   at ACCResults.SharedMemory.ARCSharedMemoryMonitor.storeSession() in E:\Users\Doug\OneDrive\Documents\Doug's Documents\VS Projects\TestApp\TestApp\SharedMemory\ARCSharedMemoryMonitor.cs:line 1212
Caused by :
   at ACCResults.SharedMemory.ARCSharedMemoryMonitor.storeSession() in E:\Users\Doug\OneDrive\Documents\Doug's Documents\VS Projects\TestApp\TestApp\SharedMemory\ARCSharedMemoryMonitor.cs:line 1271
   at ACCResults.SharedMemory.ARCSharedMemoryMonitor..ctor() in E:\Users\Doug\OneDrive\Documents\Doug's Documents\VS Projects\TestApp\TestApp\SharedMemory\ARCSharedMemoryMonitor.cs:line 417
   at ACCResults.SharedMemory.ARCSharedMemoryMonitor.SharedMemoryMonitor() in E:\Users\Doug\OneDrive\Documents\Doug's Documents\VS Projects\TestApp\TestApp\SharedMemory\ARCSharedMemoryMonitor.cs:line 156
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

[00000006] 2021-01-16 20:39:49 INFO DBWriterTask.WriterTask : Ending DB writer task
[0000000A] 2021-01-16 20:39:49 INFO ARCSharedMemoryMonitor..ctor : *** Shared Memory monitor closing ***
[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : Waiting for threads to end
[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : Process statistics process has closed
[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : Shared memory/Broadcast process has closed
[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : DB Writer process has closed

[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : ******************
[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : All threads closed
[00000001] 2021-01-16 20:39:49 INFO ACCResults.formCloseRequested : ******************

And an UI remark about the way you're saving popup window. Saved position are absolute location relative to the screen as it is for the main window. It should be relative to current ACCR main window position. If I put a popup in the middle of my main window, I would like to see it reopening in the middle of the main window even if this main window is moved to a new location.
And could you remove or limit the following log :
[00000001] 2021-01-16 20:39:27 INFO Utils.ValidScreenPosition : ACCResultsMainForm is on screen \\.\DISPLAY1 at 759:73
because it could create a huge amount of logs.

And thanks again for this tool that is, for me, absolutely mandatory for playing ACC.
 
Last edited:
@unpierrot

Error is relatively benign - only affects "spectator" sessions. The fix should have been in 1.9.10 but was missed from the build for some reason.

Can you try out 1.9.11. (Most) child forms should re-position with the main form now. The very first time they open, they will still take their absolute position and will use relative after that. If the main form moves such that the child form won't be displayed (ie off screen) then the child will just use the default position.

The re-position message now only occurs when the form closes. Now it has done it's work, I don't need it reporting so often
 
It works fine with "Display teams" (ACCTeamsForm) from leaderboard tab, always displayed at saved position and relative to main windows. "Change track year" (ACCFixSessionForm) is still absolute as far as I can see.
And "Export diagnostics" doesn't behave properly but perhaps it's because I only click on cancel to close it and the save is not applied ?

edit : "Export diagnostics" popup could open at a previous absolute location or in a new location (perhaps default one, I don't know)
I have never put the main window where popup couldn't be displayed (partial off screen for example) and I don't use several display screens.
 
Last edited:
It works fine with "Display teams" (ACCTeamsForm) from leaderboard tab, always displayed at saved position and relative to main windows. "Change track year" (ACCFixSessionForm) is still absolute as far as I can see.
And "Export diagnostics" doesn't behave properly but perhaps it's because I only click on cancel to close it and the save is not applied ?

edit : "Export diagnostics" popup could open at a previous absolute location or in a new location (perhaps default one, I don't know)
I have never put the main window where popup couldn't be displayed (partial off screen for example) and I don't use several display screens.

Great - thanks for trying it out. Export Diagnostics and a few other less used dialogs don't (yet) save position
 
On my computer ARC is running very, very sluggishly when longer lists are displayed - is there anything I can do about this or is this a limitation of how ARC renders the chart?

Feature request 1:

Would it be possible to add a "scroll to my position button" ?
This would massively improve trying to find yourself on the leader board once you have scrolled yourself offscreen.


Feature request 2:

This may be too difficult to implement but if possible it would be an awesome feature:

- never scroll the leader off a leaderboard
- never scroll your own time off a leaderboard
- never scroll marked users of teams off the leaderboard

This way you always have the most important information visible in the leaderboard and dont have to hunt up / down the list to find something (especially seeing as scrolling renders so badly)

example:

001. Frank Fast
...
023. My Friend
...
221. Horst Bertram
222. Heinz Apuck
223. Bernd Pop
224. Myself
225. Gert Lopsi
...
437. The Slowest Person


Feature request 3:

sticky pages
Could all ARC pages be made sticky in between sessions?
I rather have my last pages show the same way I left ARC the last time then starting up blank as I usually pick up where I left off the last time.

Feature request 4:

- enable search for friends / user name in leaderboard
I love to see how my friends perform on a certain track.
Currently I have to scroll through the leaderboard (difficult as of the scrolling behavior and loooong leaderboards) to find someone.
It would be nice to have a search field to look for your friends and opponents in racing leagues ;-)



ARC gets better and better and better. IT became now an important part for race preparation towards league races and preparations to test and practice certain tracks. Thank you very much for the immense effort with ARC!
 
@Dirk Steffen - Very long lists can be sluggish. Unfortunately, that is just the nature of the list controls I use and not I can do to speed things up. It's made a bit worse by ARC being a bit more popular than I anticipated, so leaderboards are longer. Having said that, if I look at the leaderboard for Monza (by far the most popular track), if I scroll to bottom, the lag is maybe a couple of tenths of seconds. It will be a little bit more sluggish when ACC is running, and more sluggish still when a session is active (as ARC will be constantly polling for ACC information)

The are times when ARC will bog down a bit, and this is a limitation of the database I use. When a lot of database records are written, the writes must be serialised and no records can be read. As the views generally do a synchronous read from the database, they must wait until any writes complete - this may cause the UI to lock until the writes are complete. Times you will see this:-
  • At the end of a race where quite a few tables are updated (should only be a seconds or so)
  • If you change the track year of a session as it needs to rebuild the result and fuel statistics (may take a couple of seconds)
  • When you start ARC and it is downloading leaderboard records...when it commits all the changes to the database, this can cause the rest of the UI to wait for a few seconds (depending on how many updates there are)
Finally, when you view a tab for the first time, it can take quite a while to render. I think this is just down to how many controls are on each page, and how long it takes Windows to initialise them.

Having said all that, it you are experiences lags or a second or more, than that is not what I would expect. If you describe the exact scenario and upload diagnostics (Session page, right click, Export Diagnostics), I'll investigate.

Feature Requests
#1. I'll add to the list
#2. I've just had a look and the list control I use doesn't support that unfortunately
#3. I'm moving towards saving various settings, so eventually, all pages should start in the state when you closed ARC
#4. I'd suggest you look at the Teams feature - have a look here https://www.racedepartment.com/threads/acc-results-companion.172267/post-3283962
 
@Dirk Steffen - Very long lists can be sluggish. Unfortunately, that is just the nature of the

I expected this although I was hoping there was a way :)
...
#4. I'd suggest you look at the Teams feature - have a look here https://www.racedepartment.com/threads/acc-results-companion.172267/post-3283962

Teams feature is a great function of ARC and I had a good look at it.
Unfortunately my problem is not to find a friend who is already tagged with a team but to find my friends I would like to tag.

So a search field that would search the entire currently displayed leaderboard (with filters intact) for a user name would be fantastic to have.
This would make finding and tagging friends so much easier.
 
Teams feature is a great function of ARC and I had a good look at it.
Unfortunately my problem is not to find a friend who is already tagged with a team but to find my friends I would like to tag.

So a search field that would search the entire currently displayed leaderboard (with filters intact) for a user name would be fantastic to have.
This would make finding and tagging friends so much easier.

Ah- I see what you mean. Something like this then - the text box in yellow below that filters as you type (picking on Jacky as it illustrates it quite nicely)
1611162575242.png

1611162598465.png

1611162618891.png


..and so on.

I'll need to tidy it all up and check it breaks nothing else
 

Latest News

What's needed for simracing in 2024?

  • More games, period

  • Better graphics/visuals

  • Advanced physics and handling

  • More cars and tracks

  • AI improvements

  • AI engineering

  • Cross-platform play

  • New game Modes

  • Other, post your idea


Results are only viewable after voting.
Back
Top