Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 04/01/22 in all areas

  1. Renate Schaaf

    Parallel Resampling of (VCL-) Bitmaps

    I have made my parallel resampling of bitmaps now as fast as I can get it. Now I would find it interesting to know, how the algorithm performs on other systems, and it would be super to get suggestions for improvement. The procedures can be found in the unit uScale under Algorithms in the attached zip. I have tested against Windows StretchBlt-Half_Tone, WICImage and Graphics32. On my PC (AMD Ryzen 7 1700, 8-core) I see a substantial improvement in speed. The threads are based on TThread rather than TTask or TParallel, because I had failures using the latter two, whereas the oldfashioned threads haven't failed me ever in gazillions of runs. If you want to compile and run the comparison project, you need to include the source folder of Graphics32 (latest version) in your search path. For convenience it is included in the zip under Algorithms. I couldn't find a way to divvy out only the units needed for resampling. The test against Graphics32 might be slightly unfair, because of bitmaps being assigned to TBitmap32 before the processing. Right now, the procedure itself cannot be run in concurrent threads, because the array of TThreads is a global variable, I need to change the design (ideas welcome). There might be still room for improvement by minimizing the cache misses, but my head can't handle it at the moment. Hope you find it useful. Renate Bitmap Scaling.zip
  2. Uwe Raabe

    Project Build Groups

    I do! I actually blogged about it: Do you know Build Groups? There you can find instructions to solve your problem.
  3. Steve Maughan

    Current VCLZip?

    And don't forget about Abbrevia: https://github.com/TurboPack/Abbrevia
  4. dummzeuch

    Deputy IDE Expert

    That is not necessarily related to Deputy IDE expert. It also happens (sometimes) with only GExperts installed when closing the IDE. I could never figure out what causes it. It's an assertion in a destructor in SynEdit.
  5. My approach to these types of problems is to add a record helper for the enumeration that handles the conversion from and to Integer. type TDDArrangementId = (daOutstanding, daWeeklyGap, daAmount, daGapAmount); TDDArrangementIdHelper = record helper for TDDArrangementId private function GetAsInteger: Integer; procedure SetAsInteger(const Value: Integer); public property AsInteger: Integer read GetAsInteger write SetAsInteger; end; function TDDArrangementIdHelper.GetAsInteger: Integer; begin Result := Ord(Succ(Self)); end; procedure TDDArrangementIdHelper.SetAsInteger(const Value: Integer); begin Self := TDDArrangementId(Pred(Value)); end; The usage would then look like this: var myVar: TDDArrangementId; begin myVar.AsInteger := 1; Assert(myVar = daOutstanding); Inc(myVar); Assert(myVar = daWeeklyGap); Assert(myVar.AsInteger = 2); end.
  6. Fr0sT.Brutal

    EULA declined installing 11.1 with Network Named license

    Unless OpenSSL abandons W7, missing OS support of TLS1.3 is quite insignificant IMHO. Probably only actual for C# apps that use TLS layer provided by OS. P.S. I still use W7 as my main dev machine. I really dislike some dumb limitations of new flat UI (nonconfigurable 1-pixel-wide window borders on hi-res display and a touchpad?! Come on MS are you kidding?)
  7. Ian Branch

    Deputy IDE Expert

    There appears to be a conflict with GExperts. I am running Windows 11, 4k screen, D11.1, GExperts rev 3823, Deputy rev 2.4.1 via Getit. This occurs after the Deputy install and Delphi is restarting. Further, as D11.1 is starting I see this... If I disable GExperts this disappears.
  8. Anders Melander

    EULA declined installing 11.1 with Network Named license

    Okay then. I thought that maybe you were just voicing an uninformed opinion. My bad.
  9. Lachlan Gemmell

    EULA declined installing 11.1 with Network Named license

    It makes for a much more lightweight VM than one based on Windows 10. If you have a multitude of VMs that makes a difference both in terms of memory and disk consumption (particularly since we took a backwards step in capacity terms with SSDs). I use them purely for writing code in, I don't go browsing random websites with an outdated Win7.
  10. David Heffernan

    Range check error with TSysLogServer

    The correct solution, in my view, is to pass Pointer(RawMessage) rather than @RawMessage [1]
  11. corneliusdavid

    Is TEdit bugged with mobile? Since when?

    OK, I finally see what you're getting at. I got sidetracked by just the idea of simple editing of text on a mobile device and missed part about the ControlType--sorry. (I had recently experienced frustration when typing a long text and trying to view/edit the whole thing--and that was using the phone's built-in text messaging app--I thought that's where this was going.) I ran a sample project and switched the ControlType property of the TEdit between Styled and Platform and now see what you've been trying to explain. Yes, the "Platform" control works properly but (and as explained on docwiki) does not respect the z-order. So, yeah, it does look like a bug, or incomplete feature implementation, in the styled version of the TEdit.
  12. David Heffernan

    MIGRATING PHOTOBOOK TO DELPHI ALEXANDRIA FROM 2014

    If you comment out all of the code then the library will compile. And we all know that once a piece of code compiles, the job of the programmer is done.
×