Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 02/15/22 in all areas

  1. Uwe Raabe

    Updated Community Edition

    They probably all vanished in an empty except-end block.
  2. vfbb

    Skia4Delphi v3.0.0

    It is with great pleasure that we announce the new version of the Skia4Delphi library. The library has been completely rewritten in this major update and it looks amazing. v3.0.0 · Skia library version has been updated from Milestone 88 to 98; · New Skia based Canvas for FMX with GPU rendering support (optionally registered as default) accompanied by the following benefits a) Draw with anti-aliasing on any platform; (currently platforms that use TGPUCanvas like mobiles, and Mac computers when Metal is enabled do not use it) b) Increase the overall graphics performance of your application by up to 50%; (even drawing with higher quality) c) Resize images with better quality; (also based on Form.Quality) d) Support Right-To-Left rendering; e) Fix dozens of inconsistencies in drawings, especially in corners and strokes, such as dashes, and in texts with special emojis; f) Increase the performance of the library in general (controls, drawings, among others...). · Fully featured demo, with many more fantastic examples; · Added TSkLabel control with support for: multiple text styles (colors, sizes, fonts), justify alignment, font weight, families fallback, auto-size of width and height, limit number of lines, right-to-left texts, and more; · Added TSkAnimatedImage (replacing TSkLottieAnimation), with support for Lottie, Telegram Sticker, Animated GIF and Animated WebP files. · Added WrapMode property to TSkSvg; · Added full unicode support: grapheme iterators, BiDi regions, among others; · Added new features to SkParagraph; · Added SkTypefaceProvider; (custom fonts support in SkParagraph) · New codecs registered: a) VCL: svg, wbmp, webp and raw images (arw, cr2, dng, nef, nrw, orf, raf, rw2, pef and srw) b) FMX: bmp, gif, ico, wbmp, webp e raw images (arw, cr2, dng, nef, nrw, orf, raf, rw2, pef and srw) · Added support for SVG creation with the SkSVGCanvas class; · Exposed SkParticles (provides a way to quickly generate large numbers of drawing primitives with dynamic, animated behavior) · Added support for creating XPS documents (Windows-only); · Added Cross-Platform unit tests for console, VCL and FMX, with more over then 250 tests; · Added Android support for Delphi 10.3 Rio; · Added installation support via Chocolatey; · Improved the performance of Lottie animations; · Improved the performance of OverrideColor in TSkSvg; · Improved installation process; · Simplified Skia build with a simple native script; · Fixed library loading crash that occurred on some 32-bit Androids; · Fixed support for Android 32 bits in Android App Bundle (.aab) format; · Fixed iterators; (including path elements iterator) · Fixed image decoding issue; · Fixed Lottie files with static images embedded; · Fixed SVG locale-dependent (couldn't render when default decimal separator was not dot); · Fixed wrong draw of TSkCustomControl and descendents in FMX, when the property Angle was different than 0; · Fixed TSkPaintBox draw without clear the surface; · Fixed installation issue in RAD Studio Trial, Community Edition and Started versions; · Fixed installation issue in RAD Studio with very large Library Path (especially those that have the ACBr library installed); · Fixed many others minor issues; · And much more.. Compatibility break: We are in continuous development, so some updates will bring compatibility breaks. So pay attention to version numbers, we use semantic versions (for major versions there is some compatibility break). See some breaking changes in this version: a) Removed support to iOS, MacOS and Linux in RAD Studio 10.4 Sydney; b) Removed support to RAD Studio XE6; c) Removed the TSkLottieAnimation control, use the TSkAnimatedImage control instead; d) Several changes in API; Supported platforms: · RAD Studio 11.0 Alexandria: all platforms · RAD Studio 10.3 Rio or newer: windows and android · RAD Studio XE7 or newer: windows Demo: Github: github.com/skia4delphi/skia4delphi Website: skia4delphi.org
  3. My own casual survey leads me to offer this summary: BNF seems to be considered too limiting, and generally not for new work EBNF, though better, suffers from the extensions being numerous and undisciplined, so there seems to be no "standard" EBNF ABNF appears to be more useful than BNF, and better managed than EBNF -- see IETF RFC 5234 Don't shoot me, I didn't mention "right" and "wrong"!
  4. The main trick is to avoid memory allocation, i.e. temporary string allocations. For instance, the less copy() calls, the better. Try to rewrite your code to allocate one single output string per input string. Just parse the input string from left to write, then applying the quotes or dates processing on the fly. Then you could also avoid any input line allocation, and parse the whole input buffer at once. Parsing 100.000 lines could be done much quicker, if properly written. I guess round 500MB/s is easy to reach. For instance, within mORMot, we parse and convert 900MB/s of JSON in pure pascal, including string unquoting.
  5. dummzeuch

    Updated Community Edition

    For my professional work, I don't mind paying for the tools (or rather my employer paying for them), as long as they provide value for that money. But for my hobby, I'm not prepared to pay > 1000 Euros for a development tool. I'd either use something that's free or stop programming in my free time. (btw: My salary isn't paid from the "products" I create but rather from the services my company provides with the help of my software.) As for paying for smartphone apps: There are a few that I'd pay for, but most are not even worth "paying" for by looking at ads. I had about 20 Euros to spend on Google Play which otherwise would have been lost. I found nothing worth buying for that and the money is gone now. In my experience, freelancers who offer to work for a few bucks an hour are usually not worth even those few bucks. When you then try to use their "product", you find that it doesn't solve the problem and creates new ones. Of course, there are probably exceptions to that rule, but I have yet to come across them.
  6. qubits

    SpaceBallz

    Single person, two player, Thumb against thumb, Ball Basher for Robots. Juggle up to twelve sphere's of galactic matter in outer space. SpaceBallz Started out as a quick pong demo, but with Alexandria's grace, it turned into SpaceBallz!! A game in a class. I can do 12 balls for about 4 mins. It's a birthday present for Delphi. Sorry, I'm poor, have to take a hand made gift for now. Happy Birthday DELPHI!! ~q
  7. hamzaben

    Skia4Delphi v3.0.0

    That’s an amazing work! Thanks a lot for your hard work
  8. Exactly - and you don't need to be an expert to come to that conclusion.
  9. There is a diagram renderer here: https://www.bottlecaps.de/rr/ui - but it barfs on the first definition.
  10. There is one in by Browse and Doc It IDE plug-in. Its extended because BNF is single line and I needed multi-line and introduced the semi-colon to me line termination detection easier.
  11. Have you used a profiler yet? There really is little point to reworking your code until you know where the time is consumed.
  12. aehimself

    Virus? How odd.

    Issue is not Delphi Alexandria but that piece of ga... wonderful McAffee. I remember removing viruses by hand from multiple servers because the freshly updated McAfee failed to recognize a ~5 yo worm. We knew it worked because it always quarantined our patching tool. At work ESET, at home M$ Defender (AntiMalware, Security... idk how it's called nowadays) works just fine. The only reason we excluded Delphi executables is to speed up the building process on dev PCs.
  13. Remy Lebeau

    UnPinnable App

    In addition to everthing said about AddRef/Release(), just note that if your Form's window is ever recreated at runtime, you will loose your marking and have to re-apply it on the new window. Best way to avoid that is to have your Form class override the virtual CreateWnd() method to call MarkWindowAsUnpinnable(), don't call it after creating the Form object.
  14. DanC

    Updated Community Edition

    I guess I'm dumbfounded as to why developers want anything to be free, considering isn't their salaries paid based upon revenue from the products they create? I get it, it's cool to be able to download a free copy of vscode, and code in .NET and not pay a dime for it, meanwhile apps on the mobile app-store are considered expensive if you pay more than $1.99 for it.. You can't even buy a developer a candy bar for $1.99, so if not for money then what's the point? Devs on freelancer begging to take your job for a few bucks an hour, downloaded their tools for free, watched videos from udemy for 98% off, youtube tutorials.. Someone could have been paid a lot of money for almost everything out there that's free, I just feel like we're racing to the bottom. Any additional perspectives? I still think $2500+ is a lot, but man.
  15. Attila Kovacs

    Virus? How odd.

    don't use gmail for transferring exe's, there is no MTA on the world letting exe's through use defender move on
  16. The first question you need to ask yourself when trying manipulate thread scheduling is: Am I smarter than the people that designed the OS thread scheduler? If you can answer yes to that then go ahead and use SetThreadAffinityMask on your threads but I doubt you'll get the improvement you think. The two threads will still have to compete with all the other threads running on the system (and there's thousands of them) but now the scheduler can't move them to another core if their designated core is occupied. All you've achieved is to give your threads a handicap.
  17. Edwin Yip

    Updated Community Edition

    I think you are right. I've seen more new open source projects appear on github since the first CE edition. The CE edition should be aiming at keeping Delphi alive and payback in the future, not to generate short-term revenue.
×