EXE datein immer 2.3MB
Übersicht

MatthiasBetreff: EXE datein immer 2.3MB |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hay. Ich habe da so einige Fragen und hoffe das ihr mir helfen könnt.
Ich verstehe nicht warum meine Exe-Datein immer so groß sind. Gibt es da einen Trick die kleiner zu machen? Muß mann etwas beachten wenn mann für Linux oder max eine EXE Machen will? Gibt es in BMax einen Erstz befehl für AvailVidMem also einen Befehl um den Grafikkartenspeicherverbrauch zu ermitteln? Und gibt es auch einen Befehl der wie TFormImage wirkt also nicht nur drehen und Scalieren sondernt so richtig Trasformieren. Code: [AUSKLAPPEN] __________ /........ / /........./ /........./ /_________/ |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu 1) Das liegt daran, dass BlitzMax ohne weiteren Angabe erstmal alle Module mit in die EXE rein packt. Willst du die .exe kleiner haben, so gibt es Befehle die nur bestimmte Module in die .exe mit rein packen:
Beispielcode: Code: [AUSKLAPPEN] Framework BRL.GLGraphics
Import BRL.Math Import Pub.OpenGL Je nachdem was grade für dein Projekt benötigt wird, steht da eben was anderes hinder Framework und Import. Auch die Anzehl der Import -Zeilen variiert. Da das ganze aber sehr mühsam ist, sich alle benötigten Module raus zu suchen, gibt es den wundervollen Framework Assistant V.2.07 der eine -bmx -Datei durchsucht und dir die einzubindende Imports auflistet. Suche mal einfach nach dem Programm. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wegen Transformieren,
so wie du das dargestellt hast würde das Image bzw. die Pixmap größer werden . Wenn du das nicht in Echtzeit brauchst kannst du das mit den Pixmap Befehlen selber neu erstellen bzw. transformieren . Sonst auf OpenGl bzw. 3D umsteigen . Wofür brauchste das denn ? |
||
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@hectic Danke für deinen Tipp. Hat gut functioniert frisst jetzt nur noch 240KB anstat 2,3MB
@Makus2. Also doch es soll schon Echtzeitfähig sein. Drehen und Scalieren ist ja auch Echtzeitfähig. Wie jetzt auf 3DUmsteigen brauch ich da eine Lib oder so für diesen einen befehl. Und wie würde er dann heisen. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kompilieren kannst Du nur auf dem System dass grade läuft, d.h. unter Windows kannst Du kein Linuxprogramm erstellen.
Sonst gibt es nur zu beachten dass Systemspezifische Dinge nur auf diesen Systemen laufen, d.h. WinAPI-Aufrufe machen unter Linux und MacOS keinen Sinn. Es gibt Direktiven mit denen Teile des Codes nur unter einer Plattform kompiliert werden: Code: [AUSKLAPPEN] ?win32
print "test" ? Der Printbefehl wird nur unter Windows kompiliert. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Und gibt es auch einen Befehl der wie TFormImage wirkt also nicht nur drehen und Scalieren sondernt so richtig Trasformieren.
Drehen und skalieren ist eigentlich 'richtig' transformieren. ![]() Ich habe dir hier mal eine Funktion mit Beispiel geschrieben ( DrawFreeformImage ): Code: [AUSKLAPPEN] SuperStrict
Graphics( 800, 600, 0 ) Local image:TImage = LoadImage( "test.bmp" ) Global driver:TD3D7Max2DDriver = D3D7Max2DDriver( ) Global dev:IDirect3DDevice7 = driver.device While( Not( KeyDown( KEY_ESCAPE ) Or AppTerminate( ) ) ) Cls DrawFreeformImage( image, [100.0, 100.0], [500.0, 100.0], [700.0, 500.0], [300.0, 500.0], 0 ) Flip Wend Function DrawFreeformImage( image:TImage, v1:Float[], v2:Float[], v3:Float[], v4:Float[], frame:Int ) If Not image Return Local verts:Float[24] Local color:Int = driver.drawcolor verts[0] = v1[0]; verts[1] = v1[1] verts[2] = 0 verts[3] = Float Ptr( Varptr color )[0] verts[4] = 0; verts[5] = 0 verts[6] = v2[0]; verts[7] = v2[1] verts[8] = 0 verts[9] = Float Ptr( Varptr color )[0] verts[10] = 1; verts[11] = 0 verts[12] = v3[0]; verts[13] = v3[1] verts[14] = 0 verts[15] = Float Ptr( Varptr color )[0] verts[16] = 1; verts[17] = 1 verts[18] = v4[0]; verts[19] = v4[1] verts[20] = 0 verts[21] = Float Ptr( Varptr color )[0] verts[22] = 0; verts[23] = 1 driver.SetActiveFrame( TD3D7ImageFrame( image.frame( frame ) ) ) dev.DrawPrimitive( D3DPT_TRIANGLEFAN, D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1, verts, 4, 0 ) End Function Mit dieser Funktion kannst du ein Bild zeichnen, indem zu die Koordinaten der 4 Eckpunkte angibst. In dem Beispiel wird das Bild so dargestellt, wie in deiner Skizze oben. Geht übrigens nur mit DirectX. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und es gibt keinen Befehl um den verfügbaren Grafikspeicher abzufragen, da OpenGL keinen Speichermanager hat und selbst schätzen nichts bringt ausser falschen Angaben.
Also musst du dir da wohl selbst eine "Schätzfunktion" einbauen. Aber das ist nicht so schwer: Höhe * Breite * 4Byte = Anzahl Byte die im VRAM und RAM gebraucht werden. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
In 3D gibt man halt nur die Eckpunkte an und die Texture
der Fläche wird so aufgespannt . |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Markus2 hat Folgendes geschrieben: In 3D gibt man halt nur die Eckpunkte an und die Texture
der Fläche wird so aufgespannt . Also genau wie in meinem Beispiel oben. ![]() |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank an alle.
@ProGamer.Coder ![]() ![]() ![]() Cool. Das ist ja noch besser mit denn Vertex. Das ist sehr gut. Naja ok. Das ist zwar schade das es keinen Befehl für den GFXSpeicher gibt aber auch wieder nicht so schlimm. ![]() Aber das mann Linux haben muß damit mann für Linux Kompelieren kann das find ich nicht so toll. Mus ich mir extra noch eine Festplatte nur mit Linux machen. ![]() |
||
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn dein PC recht flott ist, kannst du dir ja auch VMware installieren ![]() |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja das ist ja leider das Problem mein PC ist echt larm 1,875GH und das ist eigentlich auch das Problem warum ich auf BMax umgestiegen bin. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group