Developer's Diary

Where the application currently is, what's being worked on, etc.

Developer's Diary

Paul Thurston
Advanced Member
Paul Thurston
Advanced Member
Joined: 08 Jul 2012, 05:15

08 Jul 2012, 06:00 #1

Support Forum created. B)

First beta version (0.1) distributed to the corporate sponsors and beta test contributors.
Reply
Like

Paul Thurston
Advanced Member
Paul Thurston
Advanced Member
Joined: 08 Jul 2012, 05:15

08 Jul 2012, 06:04 #2

I'm not happy with the current speed of update so am recoding the data flow within the app.
Reply
Like

Paul Thurston
Advanced Member
Paul Thurston
Advanced Member
Joined: 08 Jul 2012, 05:15

11 Jul 2012, 06:14 #3

My research into the speed of graphical update proved to me that I needed to fundamentally change the output system so I'm currently rewriting the controls to use XNA rather than standard windows forms. The big advantage is that XNA is optimised for a real time gaming environment.

If I get this right then we'll have the speed in hand to model proper swoopy LCD rev bars like the real Motecs and the like but more usefully we'll have a proper Z buffer so the current problems overlapping fields will be a thing of the past. It also makes properly textured analogue gauge needles fairly trivial to implement.

the changes are all internal so there'll be no (major) required changes in the dash definitions. The only likely exception is that the fonts will probably scale differently but that's actually a good thing as they're currently a bit random.

I've not coded for XNA before so there's a bit of a learning curve but I should have a working version in a week or so.
Reply
Like

Paul Thurston
Advanced Member
Paul Thurston
Advanced Member
Joined: 08 Jul 2012, 05:15

14 Jul 2012, 18:06 #4

XNA is proving to be quite a challenging learning curve. Today I made a few little breakthroughs though and got the literals working. Converting the other controls to suit should take far less time so I'm confident I'll hit my target of the end of the week.
Reply
Like

Paul Thurston
Advanced Member
Paul Thurston
Advanced Member
Joined: 08 Jul 2012, 05:15

26 Jul 2012, 06:02 #5

Right. Sorry for the length of the silence. Been busy.

There's good news and bad news. The good news is that I've got the XNA version to a level of functionality some way clear of the first beta. It runs easily faster than iRacing's API can update it which means we can build complex and graphically rich dashboards without fear of the screen not updating quickly enough. It works perfectly on both my development machine and the race box with my USB to VGA adapter and an old 15" LCD monitor.

And the bad news. It appears that the 7" USB monitors in general use aren't happy about running a DirectX window when there's a full screen DirectX application running elsewhere on the machine.

In the course of trying to get this working on Derek's setup I've learnt absolutely tons which will stand me in good stead when I come to add stuff like 3d dashboards and it's forced me to make the screen scaling work properly so any dash will now look right on any resolution screen.

So lots of positives then but one big negative. I need to get to the bottom of this and find a way round it. And I will.
Reply
Like

Paul Thurston
Advanced Member
Paul Thurston
Advanced Member
Joined: 08 Jul 2012, 05:15

31 Jul 2012, 18:38 #6

A few days ago I bit the bullet and gave up on XNA for now. the DisplayLink based screens people are using simply don't like running a second DirectX window while there's a full screen one running at the same time. It's a pity as XNA makes a lot of difficult stuff easy to do but there's little point if the target audience can't use it.

So I moved onto my third output technology and rewrote the controls to draw using GDI+. This isn't as quick as XNA, irDDU frame rates have dropped from around 100 to the mid 20s on the development laptop but that should be plenty and race boxes should be quicker.

I released 0.03 to the beta area a couple of days ago and no one has reported any problems with it so far. 0.03 will therefore be the first version available to the wider beta group when they arrive mob handed on August 1st.

Since then I've been working on 0.04. The big difference with this one is that the Car/Dash Mapping tab works as designed. If you check the box at the bottom irDDU starts watching the iRacing API. If you start a session it looks to see what car you're driving and loads the appropriate dash. When you exit it returns to the main screen.

It needs a bit more testing and a couple of small tweaks but it appears to work. I envisage releasing that to the beta team in a couple of days.
Reply
Like

Paul Thurston
Advanced Member
Paul Thurston
Advanced Member
Joined: 08 Jul 2012, 05:15

05 Aug 2012, 18:28 #7

0.4 was released to the beta team but had a bug which meant some people couldn't close the dash. That took a little while to track down but it turned out to be my own fault for trying to simplify things.

Today I released 0.4.1 to the beta team to sort that. Back to adding features now. :)
Reply
Like

Paul Thurston
Advanced Member
Paul Thurston
Advanced Member
Joined: 08 Jul 2012, 05:15

15 Aug 2012, 06:47 #8

Three releases and no diary entries. Most remiss of me.

0.7 is pretty much the release version I reckon. Unless someone finds any major problems I shan't be adding anything more than small tweaks to what's there before it morphs into 1.0.

I've got it running pretty efficiently now. It causes soft paging in iRacing but apparently that's normal for API apps so I shan't worry about it. It doesn't appear to cause any real problems.

I'm currently writing the documentation in the Dashboards and Graphics forum. there's not going to be much, to be fair it shouldn't need much but I'm writing up the syntax of the control definitions as a reference.

Paul
:)
Reply
Like

Paul Thurston
Advanced Member
Paul Thurston
Advanced Member
Joined: 08 Jul 2012, 05:15

31 Aug 2012, 19:50 #9

And 1.0 is released to the World.

Let's see if the Website and forum work. :)
Reply
Like

Paul Thurston
Advanced Member
Paul Thurston
Advanced Member
Joined: 08 Jul 2012, 05:15

28 Dec 2012, 14:44 #10

I've been working on the first 1.2 beta. It's refinement rather than a revolution but there are some nice new features.

Firstly there are some new derived API values to support fuel usage and laps to empty. How accurate they are is open to question but I'll work on that.

The API code has been largely rewritten to make it more efficient and reliable. There's also now an option to define the dashboard update rate to limit CPU and memory use.

Another new feature is the ability to set a rev bar to flash within a certain rev range. You can also define the rate of flashing as well. I'll add this to the rangelight control before release as well.

Last but not least I think I've finally sorted the installer bug that requires you to uninstall the old version every time you update. That's really annoyed me and I think I've cracked it.
Reply
Like