A few PTCGraph questions lazarus / 39-Graphics ---------------------------------------------------------------------- TBMan · 2025-03-07 22:39 What does this mean? What does "hooked" mean? What are the "faster" routines? Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i  { For significant speed improvements , is is recommended }{ that these routines be hooked (otherwise the default,  }{ slower routines will be used) :                        }{   HLine()                                            }{   VLine()                                            }{   PatternLine()                                        }{   ClearViewPort()                                      }{   PutImage()                                         }{   GetImage()  - ImageSize() should also be changed     }{   InternalEllipse()                                  }{   Line()                                             }{   GetScanLine()                                        } ---------------------------------------------------------------------- TRon · 2025-03-08 13:57 Quote from: TBMan on March 07, 2025, 11:39:41 pmWhat does this mean? It is an explanation of how things are implemented (at the back-end). QuoteWhat does "hooked" mean? The graphics unit can use different (graphic) back-ends, as such it is possible to replace existing (naive) implementation (if any) of those mentioned routines with another one (potential faster implementation because else why bother). It can be tailored especially for a specific back-end or graphics-mode to be able to reach optimal performance. It is able to do so by declaring variables that points to the implemented procedure/function and therefor can be replaced with a custom implementation, see also reference manual. The methodology of exposing such implementation that can be replaced by a custom one is known as hooking ("one sets a hook"). You could compare it with a callback routine or event in LCL. The different video drivers (modes) are implemented in a similar fashion so that new drivers can be added in case wanted/required. QuoteWhat are the "faster" routines? Those that perform faster/quicker than the current implementation. If not they would be called "slower" routines  But on a more serious note, you could replace existing implementations by your own and that perform faster. ---------------------------------------------------------------------- TBMan · 2025-03-08 19:34 Quote from: TRon on March 08, 2025, 02:57:33 pmQuote from: TBMan on March 07, 2025, 11:39:41 pmWhat does this mean? It is an explanation of how things are implemented (at the back-end). QuoteWhat does "hooked" mean? The graphics unit can use different (graphic) back-ends, as such it is possible to replace existing (naive) implementation (if any) of those mentioned routines with another one (potential faster implementation because else why bother). It can be tailored especially for a specific back-end or graphics-mode to be able to reach optimal performance. It is able to do so by declaring variables that points to the implemented procedure/function and therefor can be replaced with a custom implementation, see also reference manual. The methodology of exposing such implementation that can be replaced by a custom one is known as hooking ("one sets a hook"). You could compare it with a callback routine or event in LCL. The different video drivers (modes) are implemented in a similar fashion so that new drivers can be added in case wanted/required. QuoteWhat are the "faster" routines? Those that perform faster/quicker than the current implementation. If not they would be called "slower" routines  But on a more serious note, you could replace existing implementations by your own and that perform faster. OK thanks!