Page 6 of 19

Re: 2.6.8

Posted: Wed Sep 25, 2019 7:52 am
by Tony EI7BMB
Game changer indeed could not agree more . Great work Richie

Re: 2.6.8

Posted: Wed Sep 25, 2019 10:06 am
by w-u-2-o
Any PC with a GPU, which is pretty much every PC these days, will be able to take advantage of this. It does not need to be a high end machine. I think Richie just wanted to see how fast he could get it to go.

Re: 2.6.8

Posted: Wed Sep 25, 2019 1:40 pm
by W4WMT
Any real advantage in going beyond 30 frames per second?

Re: 2.6.8

Posted: Wed Sep 25, 2019 8:15 pm
by DL8LAQ
ramdor wrote:Hi all,
..... Direct X conversion

Needing a change of 'scenery' from the rest of the code, I thought I would have a play with the SharpDX (2d) library. The following video shows current progress, running on my brothers rather nice PC (mine is a bit crusty with 8+ year tech).

https://youtu.be/N5bMWviKivs

(sorry not a 4k video, but hitfilm express is unable to export in 4k@60fps)


Wow! That's cool :-)

Re: 2.6.8

Posted: Wed Sep 25, 2019 8:36 pm
by NJ2US
Bryan W4WMT wrote:Any real advantage in going beyond 30 frames per second?


Not that I can detect. It has no impact on what your receiver hears, or it’s overall performance. It applies only to what you see on the display. Easy to compare 30 to 60. But the real WIN here is that now that the FPS part of the code has been fixed by Richie, I no longer hear pops, clicks and glitches on receive/transmit when loading busy web pages on the same pc as Thetis. This is huge.

Jeff NJ2US

Re: 2.6.8

Posted: Wed Sep 25, 2019 9:01 pm
by ramdor
Bryan W4WMT wrote:Any real advantage in going beyond 30 frames per second?


madness.JPG
madness.JPG (17.23 KiB) Viewed 14805 times


:D :shock: :geek:

Richie.

Re: 2.6.8

Posted: Wed Sep 25, 2019 9:15 pm
by w-u-2-o
jeffreydoran wrote:
Bryan W4WMT wrote:Any real advantage in going beyond 30 frames per second?


Not that I can detect. It has no impact on what your receiver hears, or it’s overall performance. It applies only to what you see on the display. Easy to compare 30 to 60. But the real WIN here is that now that the FPS part of the code has been fixed by Richie, I no longer hear pops, clicks and glitches on receive/transmit when loading busy web pages on the same pc as Thetis. This is huge.

Jeff NJ2US
Same here. No audio glitches using other app's or on web page loads. Clearly making sure the threads are not oversubscribed is a hugely important thing.

Re: 2.6.8

Posted: Thu Sep 26, 2019 2:19 am
by Joe
Richie,
Thanks so much for all of the work on the code. I can't wait to get my hands on this update. I have been running the earlier versions as I get them with all great results. The PC here is: I7-7820 with GTX-1060 - 6GB video card here and have to stay below 30 FPS to keep the indication correct so with the future code release you are working on it sounds like I will be able to improve a lot.

Thanks and 73's
Joe
WD5Y

Re: 2.6.8

Posted: Thu Sep 26, 2019 6:01 am
by ramdor
Some progress today with the DirectX. Just dotted lines from the GHF grab handles on left of spectrum to implement, and to update the cache of brushes when colours/sliders are changed in the setup.

The following vid has been recorded at 2560x1400p@60hz. You can view it at that if you change the settings on youtube (gear bottom right).

Green number top left show current fps.

https://www.youtube.com/watch?v=IYHDV-yXCUQ

Richie.

Re: 2.6.8

Posted: Thu Sep 26, 2019 1:26 pm
by ramdor
Hi all,

For those interested, this build includes the early stages of DirectX support.

https://www.dropbox.com/s/cmjr5a8f1f6q2 ... 1.zip?dl=0

- only Panadaptor, Waterfall and Panafall display modes are supported.
- no background support (spot system will not display map etc)

FPS is shown top left, left in for now. Red indicator will show as before if render frame rate is not reaching required fps in setup.

Select DirectX from Setup->Display->Driver Engine drop down. If there is an error initialising Dx then a message will be displayed and GDI+ will be re-selected (although drop down will not change, known issue).

Note: disabling fill panafall can result in significant increase in fps. DirectX geometry fill is slow when a shape is very complex (the top of the spectrum line is extremely detailed). It was an order of magnitude faster to draw single lines for whole width. Investigations continue to find a faster solution.

Note2: if pegging DirectX display to max so that the red indicator shows will not impact overall responsiveness of Thetis and should not result in audio drop outs etc.

Richie.

Re: 2.6.8

Posted: Thu Sep 26, 2019 2:12 pm
by NC3Z
Cool, running on my 4K monitor in DirectX to see how she runs.

Update, even running in full screen on a 4K monitor there is no issues as in the past. But I run with it sized to about 1/3rd the screen real estate because full screen is just way too big. This is a nice step forward.

Re: 2.6.8

Posted: Thu Sep 26, 2019 2:39 pm
by ramdor
NC3Z wrote:Cool, running on my 4K monitor in DirectX to see how she runs.

Update, even running in full screen on a 4K monitor there is no issues as in the past. But I run with it sized to about 1/3rd the screen real estate because full screen is just way too big. This is a nice step forward.


nice one Gary :mrgreen:

I have two monitors on this pc, a 4k@60hz and a 2k@60hz. I ran Thetis split over the two monitors, so around 6400 pixels of width, and my 8yr old 680gtx just about managed 60 fps with a panafall.

Richie.

Re: 2.6.8

Posted: Thu Sep 26, 2019 2:43 pm
by Tony EI7BMB
Just installed and running nicely at 60fps Direct X . On RX CPU not getting above 9%. Looking good thanks again Richie

Re: 2.6.8

Posted: Thu Sep 26, 2019 2:50 pm
by Joe
This is bad, now I have to get a 4 K monitor!! Ha ha

Thanks,
Joe
WD5Y

Re: 2.6.8

Posted: Thu Sep 26, 2019 3:54 pm
by DL8LAQ
ramdor wrote:Hi all,

For those interested, this build includes the early stages of DirectX support.

https://www.dropbox.com/s/cmjr5a8f1f6q2 ... 1.zip?dl=0



1st quick test is running! Nice done, Richie! Thank you :-)

Re: 2.6.8

Posted: Thu Sep 26, 2019 4:20 pm
by W1AEX
After toggling the Driver Engine from GDI+ to Direct X there's no problem running very smoothly at 60 fps. Not a single flicker from the tattle-tale in the upper left corner of the panadapter! My computer is an old I-7 gaming machine I built back in 2012 with the Nvidia TI-560 graphics card that is definitely not a fire breather at this time!

With GDI+ my CPU utilization floats around between 16% to 21%
With Direct X my CPU utilization floats around between 4% - 9%

Just curious if the PicDisplay.png must be disabled though. I like to put pretty pictures in there!

Nicely done Richie! :O)

73,

Rob W1AEX

Re: 2.6.8

Posted: Thu Sep 26, 2019 4:25 pm
by ramdor
W1AEX wrote:Just curious if the PicDisplay.png must be disabled though. I like to put pretty pictures in there!


Not yet Rob, but soon.

Richie.

Re: 2.6.8

Posted: Thu Sep 26, 2019 4:25 pm
by ramdor
ramdor wrote:
W1AEX wrote:Just curious if the PicDisplay.png must be disabled though. I like to put pretty pictures in there!


yeah no background support yet. soon :)

edit: sorry, picdisplay check box makes no change to things when in directx mode (at the mo)

Richie.

Re: 2.6.8

Posted: Thu Sep 26, 2019 5:21 pm
by W1AEX
No problem Richie. My wife edited all my best efforts!

Image

Re: 2.6.8

Posted: Thu Sep 26, 2019 7:35 pm
by w-u-2-o
Thetis With Prototype DirectX Rendering

Be sure to watch in full HD (go to Youtube settings gear icon). Thetis 2.6.8 (Alpha Rev. C1). Display in "Collapse" mode. Window stretched over THREE 4K monitors and displaying the entire 40M band, edge to edge. Note how the video is perfectly responsive. VAC audio is glitch free (you have to turn up the volume a bit). CPU remains low regardless of window size.

Video card is an EVGA Geforce GTX 1070 running triple Dell P2815Q 4K 30Hz monitors via DisplayPort.

768KHz sample rate, 2.930Hz bin width, 120ms log recursive averaging, 30Hz update rate (32ms for waterfall)--no point in going faster, my monitors are at 30Hz.



You can try this with the old renderer and it does work, but it looks like sh*t and CPU goes sky high. Now it just works like it should! Richie, so many thanks for bringing us into the 21st century at last!

BTW, I'm seeing an approx. 30% reduction in CPU using DirectX vs the old renderer for any given set of conditions (sample rates, Window size, FFT bin size, etc.) Even with this extreme number of pixels I was not over 20% CPU for Thetis. I suspect that there are some improvements that could be made in FFT processing to bring this down further as I can do this with SDR Console and CPU never gets over 10%. On the other hand SDR Console probably uses an FFT library that, while superior, is not open source.

73!

Scott

Re: 2.6.8

Posted: Sat Sep 28, 2019 6:32 am
by ramdor
Very nice setup Scott :) Just over 11,500 pixels wide or so just to fill that panorama, 11500 vertical lines from base to each top :o :shock: Amazing how a complex shape like that is faster to render with vertical lines than using directx geometry shapes.

I have converted over the spectrum view today, sorted out the background support and tinkered with a right-click notch popup window. The differences in GDI and DX make it awkward to implement without essentially duping each render code and then making a directx version of it. Eventually I will migrate this to a much cleaner solution, but for now it will do.

Anyway, quick vid of it below. I should have the remainder of the views converted by the end of the weekend and then it can all go off to Doug. After that, back onto some bug squishing :twisted: :lol:

73 Richie.


Re: 2.6.8

Posted: Sat Sep 28, 2019 10:28 am
by W4WMT
Nice one Scott!

I guess the fft library we use could make the difference you’re seeing in CPU%. But don’t forget about wdsp. All that fantastic performance, unmatched in the amateur SDR world imo, can be a bit cpu hungry.

Back to the display FPS topic again: I honestly cannot see any difference whatsoever between 30 and 60. Maybe it’s just my old eyes integrating it all out?

Many thanks to Richie for doing the DirectX implementation! To say this is a nontrivial effort would be a gross understatement.

73

Re: 2.6.8

Posted: Sat Sep 28, 2019 1:04 pm
by vk1hx
.

Re: 2.6.8

Posted: Sat Sep 28, 2019 1:14 pm
by w2ner
WOW, that looks GREAT! I can't believe how far this has come with you Richie, been waiting for all this a long time. After the LONG list you have to go over, maybe a face list? :lol:

Thanks RIchie, you the man!!!

Re: 2.6.8

Posted: Sat Sep 28, 2019 2:05 pm
by Tony EI7BMB
My 9% from the other day does not seem typical , on build C1 I'm showing from 23% down to 10 today. Your PC spec looks pretty good to my relatively untrained eye.

Edit : WSJT X seems to account for the extra 14%, JTDX gets back to 9%

vk1hx wrote:Very nice Richie.

Currently running c1.

I wish I could get my CPU utilization down to under 9%. I might have to build a new machine. All windows visual themes are disabled.

Current PC Running:
Intel Core i7 - 4790K @ 4.00GHz
RAM: 16GB
GPU: Nvidia 1070 8GB
SSD drives.

Re: 2.6.8

Posted: Sat Sep 28, 2019 2:17 pm
by w2ner
I'm seeing a utilization between 5 - 8% with 177 processes, 2164 threads and 78337 handles, so its running VERY VERY well...

I have a I7 3.5 gig CPU with 32 gig of ram.

Re: 2.6.8

Posted: Sat Sep 28, 2019 3:04 pm
by cLicari
Running c1 full screen on 40" 4k monitor 60fps smoothly...
I did lose the blue panafall background though. Disable picDisplay is not selected.
Is c2 available for download?

[img]
2.6.8%20c1.JPG
[/img]

Great job Richie!

Re: 2.6.8

Posted: Sat Sep 28, 2019 3:15 pm
by w2ner
cLicari wrote:Running c1 full screen on 40" 4k monitor 60fps smoothly...
I did lose the blue panafall background though. Disable picDisplay is not selected.
Is c2 available for download?

[img]2.6.8%20c1.JPG[/img]

Great job Richie!


40 inch monitor, WOW

Re: 2.6.8

Posted: Sat Sep 28, 2019 4:14 pm
by w-u-2-o
Richie & Bryan:

Thank you! :)

Bryan: a quick perusal of the web says that FFTW is, if not the fastest, among the fastest libraries out there, and I believe that is what WDSP (in channelmaster.dll) uses.

CPU utilization revisited:

The CPU numbers I posted above may be suspect. I was reading about everyone's numbers in the last few posts and getting jealous, as mine were much higher. And I have a cracking machine: i7-7700k overclocked to 5GHz with 16GB of RAM.

I had been using the numbers provided by good old Task Manager, which reports 15% under my normal operating condition (not triple 4K monitor sized window). Meanwhile, Process Explorer reports 10%, and Resource Monitor reports 9%.

Also, Process Explorer and Resource Monitor show minimal variation in CPU utilization with dramatic setting changes. I can run 768KHz on a very large window and the smallest FFT bin size, then change to 384KHz on a small window with a large FFT bin size and see only about a 1% change in CPU utilization. Task Manager will show upwards of a 4% change.

I'm curious what others used to measure CPU utilization. For now, I'm going to be using ResMon or Process Explorer since they are within 1% of each other and generally seem more stable and accurate, particularly ResMon.

In ResMon I note that it goes from 9% to 13% when I activate RX2. This implies 4% per receiver. I've got no idea what thread is doing what, but here are a couple of screen captures for your amusement.

73!

Scott

Capture2.JPG
Capture2.JPG (297.51 KiB) Viewed 14405 times


Capture2.JPG
Capture2.JPG (297.51 KiB) Viewed 14405 times

Re: 2.6.8

Posted: Sat Sep 28, 2019 4:28 pm
by w2ner
For whats it worth scott