Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
Need the latest SmartSDR, Power Genius, Tuner Genius and Antenna Genius Software?
SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Anyone on here a really good '**** client' graphics developer?
Walt - KZ1F
Member ✭✭
There are some subtle nuances of client side graphics programming I'd like to find someone to discuss this with. This will be really advanced high performance type stuff. If it were the late 80's Windows world, I wouldn't need to ask but its not, so I do. Thanks! Walt
0
Answers
-
Hi Walt,
Are you looking for help? And in what language? I'm a device programmer but over the years I've been yanked into the WPF world kicking and screaming. Send me an email and we should talk: ws7m@arrl.net0 -
Not so much help. I, pretty much ended my graphical Windows programming late 80s, pre MFC. Back then there were 'optimizations' on could make with regard to scrolling. Specifically, your program would capture the wm_scroll event, you would then issue a winscrollwindow to scroll from y=1 to Ymax-1. You'd then wininvalidatewindow the entire width of y=0. Or you could redraw the entire window. The facilities now, be it android, or javafx8 or, best I can tell, WPF, simply leave no apparent option but to redraw the entire window. This appears to be what ssdr does and is what XPSSDR does. XPSSDR runs under 2% CPU so there is no, apparent, performance issue but it feels to me an awful lot of unnecessary work is being done. So it isn't tied to language, rather graphics technology.
Oh, the wininvalidatewindow would trigger a wm_paint message for the one Pixel height of the control. The advantage of this can be seen in the speed difference between running tail -f in a maximized window vs a window 2 lines in height. When I said graphical I wasn't referring to buttons, labels, sliders, etc.1 -
Got it. I think these days graphics cards have basically their own CPUs so dumping a bunch of data into the card and letting it deal with it is kind of the current mode.
We have an image analysis program that examines very high resolution pictures of stained skin samples on slides. One of the general algorithms is to run an FFT on a column or row of pixels.
Our first pass at the software did it in our code which worked ok but these images were very big, 10mb + sometimes much more so it took some time to get through FFT of all rows and columns to build that backplane data we needed.
We we hired an image analysis expert and he had us go out and buy some very expensive video cards with a ton of RAM on them. I worked with him over about a month to move the FFT processing into the GPU. The results were pretty amazing. We could load up a 10mb image file and run all the row/column FFTs in less than a 1/4 of the time it took to do them on the computer CPU and all the while the computer was loafing along at 1% CPU. Before this it was maxed out.
So ya... there is so much now that you can do with newer vid cards and GPU chips.1 -
Oh, I completely agree, today's video cards are much more powerful than they were 20-25 years ago. But, in the for instance above, the WinScrollWindow would translate to a GPU bulk memory move, which it can do very efficiently, followed by a paint of a single row of pixels, as opposed to multiple thousands of them. That's always been kind of a Ying and Yang of software development, does an organization spend the money to make a program faster, ergo less expensive to run, or simply wait for IBM or Intel to solve the problem, with the next generation of hardware. My philosophy has been do more with less. I'll email you, as this is going to go into the weeds.1
Leave a Comment
Categories
- All Categories
- 260 Community Topics
- 2.1K New Ideas
- 538 The Flea Market
- 7.6K Software
- 6K SmartSDR for Windows
- 139 SmartSDR for Maestro and M models
- 368 SmartSDR for Mac
- 242 SmartSDR for iOS
- 226 SmartSDR CAT
- 175 DAX
- 345 SmartSDR API
- 8.8K Radios and Accessories
- 7K FLEX-6000 Signature Series
- 45 FLEX-8000 Signature Series
- 859 Maestro
- 45 FlexControl
- 849 FLEX Series (Legacy) Radios
- 807 Genius Products
- 424 Power Genius XL Amplifier
- 280 Tuner Genius XL
- 87 Antenna Genius
- 227 Shack Infrastructure
- 153 Networking
- 410 Remote Operation (SmartLink)
- 130 Contesting
- 642 Peripherals & Station Integration
- 116 Amateur Radio Interests
- 878 Third-Party Software