Jump to content

Edwin Yip

Members
  • Content Count

    430
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by Edwin Yip


  1. 1 hour ago, Der schöne Günther said:

    That's is what we usually do. Initially, we had the good old JCL. It was the only thing we used it for.

     

    Later, we figured out we don't really need it at all, it was sufficient to hook into a System.ExceptObjProc (and one or two other procedure variables) to point to our own exception handler. There, you can easily acquire the stack trace with with FastMM_Fulldebugmode.dll. It exports three handy methods to acquire the "frame based" and "raw" stack trace and, of course, to just get a string for the textual representation.

     

    Found the detailed steps: https://stackoverflow.com/a/1130506/133516

    Edit 1: Would love to see an example of using `System.ExceptObjProc` and the other related procedure variables ;)

     


  2. 6 hours ago, Wagner Landgraf said:

    Spot on! Thanks for letting me know I'm not completely insane yet. 😅

    Well, well, well, I had that misconception too!

    While I was puzzled why madshi provides the open source DebugEngine while he already has the madExcept commercial package, but I didn't think too much since Jeroen said so...

    Maybe people confused by the name 'Mahdi' with 'madshi' the nickname :)

     

    I shouldn't have that misconception - because IIRC I asked Mahdi Safsafi and he's a doctor from the Middle-east, while IIRC madshi is in Germany...

    • Like 1

  3. 1 hour ago, Fr0sT.Brutal said:

    VirtualBox is OK for my needs

    I was having the same perception for many many years, until my Win 10 Guest became deadly slow on a Win 7 host. Then switched to VMWare and wow, much "snappy" now!

    Haven't used Hyper-V though.

    • Like 1

  4. 5 hours ago, Renate Schaaf said:

    Confirmed: Works with uProf now. Great Job.

    I get the same info as with VTune: hotspot timings, processor use, stack graph.

    Thanks for the info. Just downloaded AMD uProf and the installer supports Windows 7 (but haven't tried it yet) ;)


  5. On 3/7/2021 at 7:35 AM, Mike Torrettinni said:

    I re-ran with TSynDictionary to verify again, and it's much faster versus TDictionary for string searches, not so much for integers. But seems to be pretty much same performance in 32bit and 64 bit!

     

    32bit:

    image.png.11bea3f77812e857bca91205773f7004.png

     

    64bit:

    image.png.f14d4425bbdf15f394d8a45cca9ea095.png

    mORMot never ceases to surprise me ;) Mike, can you share your benchmarking code on github?


  6. 2 hours ago, Dalija Prasnikar said:

    I am sorry if I misunderstood your point.

     

    You didn't explicitly said why are you suggesting passing TEvent instead of using global access and phrase "Don't forget" can be easily interpreted that if you use global objects directly, code will not work properly. At least that is how I have read it.

    No problem. Human's language is sometimes ambiguous, the Pascal language is not, fortunately.

    • Like 1

  7. @Dalija Prasnikar,

    I don't follow your reasoning.

     

    As you said, my advise of not accessing a global TEvent variable is to gain flexibility, but not thread-safety - the thread-safety has been provided by TEvent which is a 'sync object'.

     

    So I really don't understand why you said the advise is wrong while you agree on the effects of the advise...


  8. 7 hours ago, FredS said:

    I use a global TEvent that is set at shutdown, all my wait functions check that and all threads check it either through wait or in their execute methods.

     

    I think this the standard and easy way. But don't forget to pass the TEvent object to each threads, avoid accessing any global vars in anywhere including inside the a thread.

    • Like 1

  9. 22 minutes ago, Anders Melander said:
    9 minutes ago, Anders Melander said:

    True, but I don't think Graphics32 has ever targeted the average user. It does have a steep learning curve and does require an understanding of at least some of the low level principles - such as alpha compositing.

    @Anders Melander,

    I agree, and I appreciate the versatility , flexibility and performance provided by gr32!

    In addition to the alpha compositing link, would you list other low level principles required to better use GR32?

    Thanks!

     

×