TwwDatagrid fuzzy on Delphi 12 and OSX SONOMA

Comments

11 comments

  • salvo

    Same file but only compiled with Delphi 11.3 and OSX SONOMA.



    0
    Comment actions Permalink
  • salvo

    I did some tests here are the results:
    Delphi 11.3 - OSX BIG SUR = Work.
    Delphi 11.3 - OSX SONOMA = Work.
    Delphi 12 - OSX BIG SUR = Work.
    Delphi 12 - OSX SONOMA = not Work.

    0
    Comment actions Permalink
  • Roy Woll

    Thank you for your tests. It is very helpful to us.

    I have just researched this issue today and it seems like a bug in Delphi 12 with the method Scene.GetSceneScale. It should return the scale used in your Mac environment, but it seems to always return 1. This causes the fonts to be fuzzy.  We will log a bug in the Delphi reporting system, but not sure when they will fix this.

    A temporary workaround seems to be to set GlobalUsesMetal in your project. Then GetSceneScale returns the correct value.

     

    begin
      GlobalUseMetal:= true;
      Application.Initialize;
      Application.CreateForm(TFPDataModule, FPDataModule);
      Application.CreateForm(TMainDemoForm, MainDemoForm);
      Application.Run;
    end.

    0
    Comment actions Permalink
  • salvo

    Yes with this set you can see correctly.

    The problem is that you can't use it with GlobalUseMetal, because on databases with 50000-100000 records associated with the wwdatagrid component the program goes into out memory

    0
    Comment actions Permalink
  • salvo

    2023-11-24 14:32:37.732475+0100 ClientiKaraoke[1202:18410] Execution of the command buffer was aborted due to an error during execution. Insufficient Memory (00000008:kIOGPUCommandBufferCallbackErrorOutOfMemory) Process ClientiKaraoke (1202)

    0
    Comment actions Permalink
  • Roy Woll

    What is your PaintOptions.PaintEfficiency set to? Can you tell me if you still get the globalusemetal exception error if it is set to BufferRecords?

    0
    Comment actions Permalink
  • Roy Woll

    Also are you running on an arm computer or an intel? Also I tried a table of over 400,000 records and was not able to reproduce your problem. Any chance you can email us a simple project with the problem so we can figure out why the error is occurring?

    0
    Comment actions Permalink
  • salvo

    PaintOptions.PaintEfficiency -> BufferRecords

    It's on an M1 apple chip.
    It does this by both compiling in OSX64 and ARM64
    Okay, I'll do some tests and let you know.
    In the meantime, thank you.

    0
    Comment actions Permalink
  • salvo

    I've done some testing, and I think it's an out memory problem using GlobalUseMetal has nothing to do with wwdatagrid.
    Also inserting GlobalUseSkia works, but the performance on TBitmap is very bad, very slow.
    The problem is very frustrating.

     

    0
    Comment actions Permalink
  • Roy Woll

    Can you try the following test build. I think it may solve your issue.

    https://woll2wolldata.com/downloads/FirePowerX3Test.exe

     

    0
    Comment actions Permalink
  • salvo

    Yes, it works perfectly.
    Thank you

     

    0
    Comment actions Permalink

Please sign in to leave a comment.

Powered by Zendesk