Announcement

Collapse
No announcement yet.

Finding stuff in API includes, an easy solution

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by Borje Hagsten View Post
    super-duper latest machines that few people have anyway.
    Your statement is not remotely accurate and has not been for a long time. The game changed with Windows 7 which came out ten years ago. Anybody with Windows 7 or above will have a fairly powerful machine as it is needed to run the OS. Windows 7 required a SM3 capable gaming rig to run properly, due to the advanced hardware acceleration MS started implementing in Windows. In 7, not everything was fully hardware accelerated, but in 10, everything is fully hardware accelerated.

    I currently use a $75 RCA Windows 10 tablet/laptop hybrid. 2 GB RAM, 4 core CPU. This little system kicks butt. I love it. However for serious development/production needs, it is worthless as the graphics/audio/video software I rely on will not run on something so low powered. Hence it could never be my development system. That is why I have a high end ASUS laptop. For now, this little system is what I am stuck with until I can get my studio built and get unpacked. PB runs flawlessly on it and it is the lowest priced Windows 10 system I have seen. I do not think you can get a more budget Windows 10 system off the shelf. However, using it to develop content for PB software is where the problem comes in.

    Comment


    • #22
      I'm no longer very active, so I'm sure you are right, Brice. As it is today, the biggest concern should be the fact that people don't use/buy computers that much anymore. They play games on game consoles and use "smart" phones for their everyday surfing and "computer" tasks. Even very large companies hesitate to upgrade their old computers, which is one of the reasons why it took so long for Windows10 to overtake Win7 as most popular system. Like Dylan sang - "For the times they are a-changing"..

      Comment


      • #23
        If all of your include files are in one directory, just make a list of all the files in a string array then search each file for what you are after. I have an old one for working on VC header files and from memory the .H directory had about 800 include files and totalled about 60 meg. It used to work well for finding obscure prototypes splashed across a large number of header files.
        hutch at movsd dot com
        The MASM Forum

        www.masm32.com

        Comment


        • #24
          Originally posted by Borje Hagsten View Post
          I'm no longer very active, so I'm sure you are right, Brice. As it is today, the biggest concern should be the fact that people don't use/buy computers that much anymore. They play games on game consoles and use "smart" phones for their everyday surfing and "computer" tasks. Even very large companies hesitate to upgrade their old computers, which is one of the reasons why it took so long for Windows10 to overtake Win7 as most popular system. Like Dylan sang - "For the times they are a-changing"..
          My point (badly made) was with 7, there at least came a standardization of hardware where we can expect our EUs to have the minimum specs if we target 7 and above. And the minimum specs are pretty decent systems. My cheapo I am on, is what I target as a minimum, if it runs well on this $75 system, it will run well on any 7 and above system. Chris' EZGUI samples and PB in general flies on this system. I can code on this no problem, as well.

          Gone are the days of Windows '95 where depending on what version, it could be running on anything from a 486, Pentium and I have even seen it running on a 386. PCs are dying out, as you point out. MS has finally got its groove back with Windows 10 and came up with something that works wonderfully on tablets, desktops and laptops. I mainly use my little system as a laptop, but if I need to show my wife something, I take the keyboard off and just hand her the screen. And even though I use it mainly as a laptop with a mouse, I still find myself touching the screen often. The touchscreen works flawlessly on this cheapo. The only issue is there was no way to disable the touchpad, but taking the keyboard apart and unhooking the plug on the touchpad took care of accidentally hitting it all of the time.

          PB is great in that it will run on darn near anything. But, if we only target 7 and above, we are assured of some fairly decent hardware standards.

          Chris prefers to develop on older systems, whereas I use older systems for test systems. We both have the same goal, just different ways of getting there. Chris's dedication to the wide compatibility and the stability of his products, is why I have bought them all. They are a perfect fit with PB itself. In these changing times you want something reliable. I have been playing around with a mockup for an idea using one of Chris's products. it is audio related and has sliders on the screen, that you can move with the mouse or touch and move with your finger. This little $75 system has spoiled me, as even my high end laptop doesn't have a touchscreen. But the flexibility of Chris's products allow me to write software that works just as well on a tablet as on a normal laptop or desktop.

          Comment


          • #25
            As far as finding stuff, I use a home built search that allows multiple file types + multiple search words. I can annotate the search results and place files in a data base + I can view the files and paste into whatever I'm writing.

            Depending on the # of file types, directories, and search words used it takes any where from 1 to 10 seconds to find what I'm looking for and I, like Mr. Boss, have an old clunker.
            Walt Decker

            Comment


            • #26
              I got a new PC back in 2007. I still use it as my main PC. My compiles take 1-7 seconds.

              Jose,
              Many of my larger apps use CWindow.inc. Does that give similar compilation benefits as does using your "windows.inc"?
              Attached Files

              Comment


              • #27
                > Many of my larger apps use CWindow.inc. Does that give similar compilation benefits as does using your "windows.inc"?

                If they use the WebBrowser control, your life would be easier if you keep it.

                But with, for example, gbSearchLite, you can gain some compilation speed by using

                %WIN32_LEAN_AND_MEAN = 1
                #Include "windows.inc"
                #Include "commctrl.inc"
                #Include "ShellApi.inc"

                instead of

                #Include "win32api.inc"

                In my computer...

                Using Win32Api.inc:

                Target compilation: gbsearchlite.exe
                Compile time: 0.5 seconds, at 32338440 lines/minute
                54576 bytes compiled code, 81452 bytes RTLibrary,
                3552 bytes string literals, and 7728 bytes dgroup.
                Executable stack size: 1048576 bytes.
                Disk image: 153616 bytes Memory image: 92732 bytes.

                Using the alternative:

                Target compilation: gbsearchlite.exe
                Compile time: 0.1 seconds, at 158217600 lines/minute
                44416 bytes compiled code, 81452 bytes RTLibrary,
                3552 bytes string literals, and 7712 bytes dgroup.
                Executable stack size: 1048576 bytes.
                Disk image: 143376 bytes Memory image: 92716 bytes.

                Anyway, the difference if so small in my computer that I don't bother. Maybe in slower computers there is a more noticeable difference.
                Forum: http://www.jose.it-berater.org/smfforum/index.php

                Comment


                • #28
                  Jose,
                  Thanks for the response. My numbers were 2.2s down to 1.3s for gbSearchLite. As you say, not enough to be worth the effort on a small app. I'll try it on a larger app.

                  Your compilation times are pretty darn low. My 2007 PC must be showing it's age.

                  Comment


                  • #29
                    Borje, is correct. Just a typo. I meant 4 GB ram.

                    Like Borje, I like to use medium to slower typical mass market PC for development. Why ?

                    Because software often can have serious bottlenecks and if a PC is too fast you will not notice them. I doubt most programmers spend as much time testing as I do. I write a few dozen lines of code and then compile and test. Write some more and compile and test. My style of development is slower initially and more about testing every new block of code. I also run my software through extensive tests to push its limit and to see where the bottlenecks are. I usually try to squeeze every bit of performance out of it as possible. If I can shape a few seconds here and a few seconds there I do it. I also also for stability. In Windows, resources leaks are common. Many apps which seem to run fine, but when run for a couple hours straight or pushed to the limit in other ways may crash an app or even worse bring Windows to its knees. Reliability can't be rushed. Performance comes from extensive testing on a slower machine where bottlenecks are more apparent.

                    For example, when I compared my 2D Sprite engine with GDImage in performance, it was not easy to see how well either worked. So I made test apps with 200 to 500 sprites, rather than just a few and animated every sprite (frame animation) and the results were interesting. While my Sprite engine only used the GDI, in particular DIB's and my own sprite engine, GDImage used GDIplus which has more features and has sprite drawing like features already. I pushed the software to get every little bit of performance I could and in the end EZGUI's sprite engine was about 10% to 20% faster than GDImage. If I ran tests on a bleeding edge PC, the difference would be harder to detect. Patrice developes on leading edge PC's while I developed on cheap mass market PC's. The slower PC allowed me to see many of the bottlenecks in my code which would not have been very apparent on a leading edge PC.

                    Too many programmers develop on bleeding edge PC's and think, "my apps performance is great", but when end users get the software and run it on a more typical mass market PC, they often find it is slow and bloated. When end users complain about performance, the programmers answer is not to improve performance, but to simply tell end users, "the minimum requires of our software is" such and such (usually much higher than typical end users have). They tell end users the "problem is yours because you don't have the proper hardware".

                    It is this dependency upon the bleeding edge which has made software actually slower rather than faster. Programmers keep forcing the minimum requirements to be higher and higher just to cover the poor performance of their software.

                    Unlike that, having spend the last 20 years or more developing, now, five generations of my GUI framework, my customers (which are programmers) have found that they have excellent performance and stability not only on the typical mass market PC's but that their software will run quite well on many older PC's and even legacy systems. This means their customer base rather than being forced into a continual upgrade path of new hardware, save significant money in being able to run the software on PC's they have had for some time and have less need for upgrades. Now this may not make the PC manufacturers happy (meaning less people buying new computers), but it makes my customers end users very happy because they get to save money on new hardware and get excellent performance even with legacy systems.

                    Now also finding bottlenecks and serious resource leaks my not be noticeable at first on more powerful hardware, developing software on lesser PC's helps weed out these problems faster. But such flaws in software if not found early, can end up in end users hands and when put through the paces eventually bring the app or even Windows crashing down.

                    I actually had one customer who has developed an EZGUI app which literally had to run constantly and never be shut down. He would test his app on a PC which he kept running constant, and we are talking months and possibly even years. In the process he found only one small situation which eventually would crash the app after weeks and even that one I fixed for him so his app could be run months on end. There are instances where software may need to be run constantly for days, weeks, months or even years without a chance to shutdown and reboot. It is not until an app is pushed like this that one may see serious flaws. Now if a PC has more ram or some other hardware resource than a typical mass market PC, the problem may not show up as quickly.

                    Stability and Reliability are two of the cornerstone goals in my Windows software development. After that performance.

                    Chris Boss
                    Computer Workshop
                    Developer of "EZGUI"
                    http://cwsof.com
                    http://twitter.com/EZGUIProGuy

                    Comment


                    • #30
                      Now I would like to comment about Windows 10. I actually think Microsoft has done an excellent job with it. So what made the difference ?

                      Watch this interesting video lecture by Herb Sutter , a Microsoft C+ expert entitled "Why C++ ?"

                      https://channel9.msdn.com/posts/C-an...b-Sutter-Why-C

                      Very informative and interesting when he talks about from 1999 to 2009 when Microsoft swithced to what he calls the "Coffee based languages" aka dot.net. He actually says Microsoft actually tried to build all the new features of Windows itself using managed languages rather than native compilers like C++ (or Powerbasic for us). He said it was the first time anyone attempted anything like that with an operating system. The short of it is, it was a failure. Performance was horrible and we got Windows Vista which we all know was a big "flop" for Microsoft.

                      It took time, IMO, for Microsoft to get back on track. Windows 7 was a start and more of a success than Vista. Microsoft learned from Vista. From Windows 7 onward Microsoft also began what they calls MinWin or Minimal Windows. Use a utility like Dependency Walker on any app running on Vista, then Windows 7 and then Windows 8 and now Windows 10. The number of dependencies actually grew almost exponentially. But that was not a bad thing. Microsoft was breaking up Windows into more modular subsections and improving not only its modular design, but its performance on lesser hardware. This how we got to things like Windows IOT today, which would not have been possible if they followed the path of failure of Windows Vista.

                      While Windows 8 was a failure in comparison with Windows 7, it was not because of performance, but more because of feature set and the Metro look and feel. Microsoft learned from the user interface failure of Windows 8 and really fixed things in Windows 10. But Windows 8 was actually a very good OS and its internal performance was improved greatly or its predecessors. This is why Microsoft was able to make it run decently on minimal hardware such as the old (slower) Atom CPU's and very minimal hardware such as 1 or 2 GB ram, 16 GB EMMC drives. Don't think Microsoft hadn't learn any lessons from Vista's failure.

                      Then we get Windows 10. Microsoft offered if as a free upgrade the first year and it is amazing how well it ran on most PC's, some many years old. I upgraded a computer which originally had Vista on it, and later got a free upgrade (late in Vista market cycle) to Windows 7 and then when Windows 10 was offered free I jumped on that and had no problems installing and running Windows 10 on the PC. I had other PC's with Windows 7 on them or 8 and upgraded and again it was amazing how well it ran.

                      Microsoft really has done a good job with Windows and I see little reason not to move from Windows 7 to 10, except if one actually has software which will not run well on Windows 10. The interesting thing is, that if one wrote software using the native WIN32 instead of dot.net or things like WPF, etc. and if one obeyed all the rule of writing good Windows software, that software will run flawlessly on Windows 10. It is actually the managed language stuff and the different UI frameworks Microsoft offered from 1999 onward which cause more problems with working on Windows 10 IMO and even there I would guess that this is more likely of programmers again not following the rules for their particular framework which cause the problems. If software is written and you take the precautions each framework provide, whether native WIN32 or dot.net, your software is most likely going to run flawlessly on Windows 10 as it does on Windows 7.

                      Again it comes back to testing software for reliability and bottlenecks. Write good software and Windows 10 is a friend, not an enemy. I have yet see anything that Windows 10 breaks in my EZGUI framework. My biggest fear when Windows 10 came out was that I would get tons of tech support emails about Windows 10 breaking my customers apps. The reality was nothing at all. Write WIN32 correctly, following the SDK rules and Windows 10 is great. Windows 10 performance is very good even on minimal hardware, at least for native code (WIN32) apps.

                      IMO, Powerbasic programmers should not fear Windows 10. Learn good practices in writing WIN32 apps and Windows 10 will be a friend.
                      Chris Boss
                      Computer Workshop
                      Developer of "EZGUI"
                      http://cwsof.com
                      http://twitter.com/EZGUIProGuy

                      Comment


                      • #31
                        Using modern computers is not only for speed, but also to be able to use new technologies not available in the older ones.
                        Forum: http://www.jose.it-berater.org/smfforum/index.php

                        Comment


                        • #32
                          Ditto Chris

                          Comment


                          • #33
                            Brice. Borge is not only on target about speed.
                            He is very on target specially in the non consumer market unless it is the government market which has no quarms about spending others money.
                            p purvis

                            Comment


                            • #34
                              Originally posted by Chris Boss View Post
                              Borje, is correct. Just a typo. I meant 4 GB ram.
                              If it is indeed 4GB, then you need to stop saying you have a low end system. 4GB is double the ram in most budget systems, although I have seen a 1GB still on the shelves for back to school.

                              Comment


                              • #35
                                Originally posted by José Roca View Post
                                Using modern computers is not only for speed, but also to be able to use new technologies not available in the older ones.
                                Indeed. If I were to release some software today, I would still support Windows 7, but it is reaching EOL very soon. There is something to be said for only supporting OSes that Microsoft officially supports. Windows 10 is a fabulous OS (once all of the nonsense is disabled).

                                Comment


                                • #36
                                  Brice,

                                  Windows 10 plays well with at least 4 GB ram and I do have to run some other software on my PC than Powerbasic and EZGUI, so 4 GB was a good choice. Powerbasic and EZGUI could run well even on a 1 GB system though.

                                  But even that, most professional programmers working for companies are using PC's with core I5 or I7 CPUs and at least 8 or 16 GB of ram, so in comparison my PC is still very minimal.

                                  Chris Boss
                                  Computer Workshop
                                  Developer of "EZGUI"
                                  http://cwsof.com
                                  http://twitter.com/EZGUIProGuy

                                  Comment


                                  • #37
                                    So basically 2GB per core on modern rigs where I5 and I7 are either 4 or 6 cores.

                                    Comment


                                    • #38
                                      Chris, that is one of the benefits of Windows 10. It works well on my little 2GB quad core cheapo clunker and flies on my highend i7 Quad with 16GB RAM.

                                      Comment

                                      Working...
                                      X