AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 07:32

Parameter dieser Suchanfrage:

Suche in Thema: Geht das noch schneller? - Bitmap-Verrechnung
Suche alle Beiträge, die von "mensch72" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 7 von insges. 7 Treffern
Suche benötigte 0.004s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Geht das noch schneller? - Bitmap-Verrechnung

     
      by mensch72, 23. Nov 2014
    => solange alles es in der Wertebereich der Operatoren passt, bei Ganzzahl-Arithmetik IMMER erst "vergrößern" (also addieren oder multiplizieren oder "shl") und dann verkleinern(also subtrahieren, dividieren oder "shr")

    => weil Pascal hier nicht immer das mach was ich will oder ich auch oft zu nur faul zum Nachzudenken, was der Kompiler draus macht, gebe ich es lieber vor), klammere da lieber...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Geht das noch schneller? - Bitmap-Verrechnung

     
      by mensch72, 23. Nov 2014
    super... das war eigentlich exakt das was ich dir gerade als "Berechnungslösung" vorschlagen wollte, denn auch wenn ich das vor Jahren woanders her kopiert habe... das sieht einfach schön klar aus:)

    Ich würde aber eine zusätzliche Sicherheitsklammerung einführen, damit auch wirklich erst multipliziert wird und erst dann dividiert(shr 8) wird... das sollte genauer sein, wenn hier bicht...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Geht das noch schneller? - Bitmap-Verrechnung

     
      by mensch72, 22. Nov 2014
    Wenn der Compiler sagt, das da Irgendwo kein Integer ist funktioniert das mit "shr 8" nicht... morgen werfe ich ml kurz mein Delphi an und finde das "Syntax" Problem... muss ja meine Pascalsyntax "schulen".

    Auch macht SHR Mist, bei negativen Zahlen... ich tippe es mal komplett als "unsigned int" ähhh "cardinal"... muss aber erst noch verstehen, "warum" du aktuell den Weg über negative werte...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Geht das noch schneller? - Bitmap-Verrechnung

     
      by mensch72, 22. Nov 2014
    Sorry, der "Sicherheits-Cast" muss Integer(...) und nicht int(xxx) heißen!

    also
    i := RGBA_Unten^.rgbBlue - (((Integer(RGBA_Unten^.rgbBlue - RGBA_Oben^.rgbBlue) * Integer(RGBA_Oben^.rgbReserved)) div 256);
    und
    i := RGBA_Unten^.rgbBlue - (((Integer(RGBA_Unten^.rgbBlue - RGBA_Oben^.rgbBlue) * Integer(RGBA_Oben^.rgbReserved)) shr 8);

    (ich sollte nicht so viel C++ programmieren;) )
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Geht das noch schneller? - Bitmap-Verrechnung

     
      by mensch72, 22. Nov 2014
    Eine Bitte:
    mach dir mal für mich die Mühe und "messe" die Zeiten noch für diese 2 Varianten:

    i := RGBA_Unten^.rgbBlue - (((Int(RGBA_Unten^.rgbBlue - RGBA_Oben^.rgbBlue) * Int(RGBA_Oben^.rgbReserved)) div 256);
    und
    i := RGBA_Unten^.rgbBlue - (((Int(RGBA_Unten^.rgbBlue - RGBA_Oben^.rgbBlue) * Int(RGBA_Oben^.rgbReserved)) shr 8);

    (für je alle 3 Farben halt)

    Das wird genauso exakt und...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Geht das noch schneller? - Bitmap-Verrechnung

     
      by mensch72, 22. Nov 2014
    Ich verwende "/256" statt "/255".

    MulDiv ist live wegen der internen multiplen 32Bit über Int64 Logik Langsamer als aktuelle FPU Nutzung, aber mit ging es ums erkennen des Prinzips!

    wenn aus "Round (RGBA_Unten^.rgbBlue - ((RGBA_Unten^.rgbBlue - RGBA_Oben^.rgbBlue) / 255 * RGBA_Oben^.rgbReserved));"
    besser "RGBA_Unten^.rgbBlue - ((RGBA_Unten^.rgbBlue - RGBA_Oben^.rgbBlue) *...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Geht das noch schneller? - Bitmap-Verrechnung

     
      by mensch72, 22. Nov 2014
    man nehme einfach "MULDIV" für solche Berechnungen in Integer ohne Genauigkeitsverlust.

    aus: i := Round (RGBA_Unten^.rgbBlue - ((RGBA_Unten^.rgbBlue - RGBA_Oben^.rgbBlue) / 255 * RGBA_Oben^.rgbReserved));
    wird dann: i := RGBA_Unten^.rgbBlue - MulDiv(RGBA_Unten^.rgbBlue - RGBA_Oben^.rgbBlue, RGBA_Oben^.rgbReserved, 255);

    Mit Zusatzvariable und nur einer Dereferenzierung am Schleifenanfang,...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=mensch72&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=182859
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz