![]() |
AW: x64 : very large bitmaps
Das Problem ist viel mehr, dass die GDI nicht mehr als 65536x65536 Pixel große Bilder verpackt (ich meine das ist die Größe, die mir im MSDN mal über den Weg lief). Und da TBitmap intern über GDI Resourcen läuft, kann man so viel Speicher und Auslagerungsplatz haben wie man will - es wird nicht gehen. Lösung: Das Bild manuell aus einem FileStream schlabbern und interpretieren, unter völligem Verzicht der GDI (TBitmap und Konsorten). Mit TBitmap wird es bei den Größen nur mit Teilbildern gehen, die dann aber auch zumindest über einen eigenen Loader nach obiger Art gefüttert werden müssten, um das wird man nicht herum kommen fürchte ich.
|
AW: x64 : very large bitmaps
aktueller Stand der Forschung :
WIN7 x64 PROF - 8 GBYTE RAM - SERVER MAIN BOARD (32 GBYTE MAX RAM CONFIG) 2 Bilder mit je 2 GBYTE als TBitmap gleichzeitig geladen - - COMPILER DELPHI XE 2 --> kein Problem kann beide Bilder flüssig scrollen , speed OK Gibt es keine Spec für TBitmap, TJpef, TifImage .... ab wann es in der aktuellen Implementierung bei XE 2 kracht oder muss ich den Speicher aufrüsten und selber probieren ??? |
AW: x64 : very large bitmaps
GDI nicht mehr als 65536x65536 Pixel große Bilder
OK , Windows ist wohl ein Low End Betriebssystem für meine Anwendung ... macht es Sinn auf UNIX zu wechseln ? Kann ich hier mehr Pixel pro Bild bekommen? |
AW: x64 : very large bitmaps
Wie gesagt: Wenn du 100k*100k Bilder brauchst, bist du mit TBitmap schnell am Ende. 65536^2*4 Bytes = 17.179.869.184 Bytes = 16.777.216 kB = 16.384 MB = 16 GB
Bis 16GB, wenn keine Dimension >65536 Pixel ist, spielt zumindest die GDI mit. Alles weitere ist Implementationsspezifisch, weswegen ich für den Extremfall noch immer für die eigene Lösung plädiere. Vor allem, wenn deine Bilder größer als diese Grenze werden, was sie laut deiner Aussage ja fast um den Faktor knapp 2 (je Dimension, nach Datenmenge knapp Faktor 4) wären. Fazit: Mit der Größe, die dir vorschwebt, bist du sobald TBitmap (bzw. ein HBITMAP der WinAPI) als Gesamt-Bild-Container ins Spiel kommt auf verlorenem Posten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz