ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Suche | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
|
||||||
bubblebobble
Nutzer
11.10.2004, 09:14 Uhr [ - Direktlink - ] |
Thema: Mit Datatypes Bilder zeigen
Brett: Programmierung Da habe ich auch mal eine kurze Frage: Und zwar: DoDTMethod(titeldto, NULL, NULL, DTM_PROCLAYOUT, NULL, TRUE); Eigentlich heisst es DoDTMethod(object, win, req, msg); Also wie mache ich aus DTM_PROCLAYOUT, NULL, TRUE eine sog. "Message", von der in den Autodocs die Rede ist ? Ich programmiere nicht in C, deshalb muss ich das von Hand machen. Muss ich irgendwie Speicher allocieren und diese Werte reinschriebne oder wie realisiert der C Compiler das ? -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
09.10.2004, 21:05 Uhr [ - Direktlink - ] |
Thema: An die Studenten unter uns
Brett: Get a Life Dazu will ich auch mal was sagen. Was mir gegen den Strich geht ist, dass die Deutschen tatsächlich einen Komplex mit dem Deutsch-Sein haben, was von anderen Ländern und Gruppen innerhalb Deutschlands, die einen Profit davon haben, kräftig geschürt und warm gehalten wird. Dadurch haben die Deutschen die Neigung sich vom Deutsch-Sein zu distanzieren, manchmal sich sogar etwas masochistisch selbst zu zerfleischen oder sich auf der Nase rumtanzen zu lassen, und keiner traut sich was dagegen zu unternehmen weil er ja sonst "rechts" sein könnte. Einen Schritt rechter als die Mitte ist ja schon Nazi in Deutschland. Ich kenne die Nazizeit nur aus den Geschichtsbüchern. Genauso wie Caesar und Napoleon. Ich bin genauso schwer oder leicht zum Nazi zu machen wie ein Franzose, Italiener, Amerikaner oder Türke. Warum soll ich mich anders zu meinem Land verhalten wie Leute aus diesen Ländern ? Man muss nicht wie ein Geistesgestörter bei jeder Gelegenheit mit einem Fähnchen winken wie in Amerkia, aber es ist nicht verkehrt wenn man ab und zu mal sieht in welchem Land man ist. Zum Stolz: Stolz ist meiner Meinung nach ein positives und motivierendes Gefühl. Und ich denke man kann stolz auf sein Land sein. Wenn man in der Schule in eine Fussballmanschaft gewählt wird, dann ist man auch stolz wenn das eigene Team gewinnt. Auch wenn man selbst nur einen kleinen Teil dazu beigetragen hat und kein Tor geschossen hat. Wenn das nämlich nicht so wäre, und alle so denken, würde man von der anderen Mannschaft gnadenlos weggeputzt. Meiner Meinung nach ist das deshalb wichtig, dass man dieses "wir" Gefühl hat, sonst hat man keinen Erfolg als Gemeinschaft. Es gibt leider zu viele Leute (vor allem Junge) in Deutschland, die haben dieses Gefühl nicht. Und deshalb wollen sie auch nix leisten. Zum Glück geht es uns noch gut genug um uns das leisten zu können. Fragt sich aber wie lange. Es fängt ja bereits an zu bröckeln. Z.B. haben die Manager von Grossen Firmen keine Loyalität mehr zu Deutschland. Deshalb lassen sie Jobs abwandern, weil sie an der Uni gelernt haben wie man den Gewinn optimiert, aber leider nicht dass sie "stolz" auf Deutschland sein sollen. Ihnen ist Deutschland deshalb egal, weil sie leider vergessen wer ihnen eigentlich diese Firma erschaffen hat, die ihnen die Villa und den Privat Jet finanziert. Siehe Siemens, Daimler und aktuelles Beispiel Opel. Zusammengefasst finde ich es wichtig, dass man stolz ist Teil dieser Gemeinschaft "Deutschland" zu sein, damit man motiviert ist seinen Beitrag dazu zu leisten. Und der ist wichtig, wenn es "uns" allen gut gehen soll. Ich verstehe den Satz "Ich bin stolz Deutscher zu sein" für mich so: Ich bin stolz auf alle die Leute, die mir es direkt oder indirekt ermöglicht haben, mich zu bilden und Informatik zu studieren, ohne dass ich nebenbei arbeiten musste oder hohe Gebühren zahlen musste. Und dazu gehören, wenn man "indirekt" weit genug ausbreitet, fast alle Deutschen. Und ich bin für mich stolz Teil davon zu sein. Das ist nämlich alles keine Selbstversändlichkeit, wenn man mal in andere Länder schaut. Ich könnte jetzt genauso gut irgendwo in einer Dreckpfütze sitzen und rumgrunzend mit meinen Fingern nach Würmern im Boden bohren. Das ich das nicht mache, und im Maredo ein Steak essen kann ist die Leistung von so vielen Menschen, die das nur für mich gemacht haben, weil ich "zufällig" als Deutscher geboren bin und in ihrem Team mitspiele. > Nachdenklich werde ich, wenn jemand erklärt stolz zu sein Deutscher zu sein, nur weil er halt eben Deutscher ist. Deine Meinung wäre ungefähr so: Nur, weil mich einer in die Mannschaft reingewählt hat, muss ich ja nicht für die Mannschaft kicken, kann ja genauso gut Eigentore schiessen, bin ja nicht stolz auf die Mannschaft. So ein Phenomen habe ich bis jetzt nur in Deutschland beobachtet, obwohl die Deutschen eigentlich allen Grund dazu hätten zu ihrem Land zu stehen. [ Dieser Beitrag wurde von bubblebobble am 09.10.2004 editiert. ] |
|||||
bubblebobble
Nutzer
02.10.2004, 21:56 Uhr [ - Direktlink - ] |
Thema: USB MIDI Interface
Brett: Programmierung Achso, ich bin insgeheim davon ausgegangen, dass das usbserial.device genau eine Unit für jeden USB Port hat, so als wäre es ein Serieller Port. Aber d.h. die Ports des usbserial.device werden dynamisch vergeben, je nachdem was für ein Gerät dranhängt ? Ich werde mich mal an Chris Hodges wenden. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
02.10.2004, 21:52 Uhr [ - Direktlink - ] |
Thema: Log Lookup Table
Brett: Programmierung Naja, die Genauigkeit hängt eigentlich viel mehr von der Approximations Formel ab. Beispiel: ln(x) ~= 1/2(x-1)(3-x) , x aus (0,2] Dann wäre ln(2) ~= 1/2 * 1 * 1 = 0.5 Tatsächlich ist aber ln(2) = 0.693... ABER nach dieser Formel: ld(x) ~= 1/3(x-1)(5-x) ld(2) ~= 1/3 * 1 * 3 = 1 ld(2) = 1 Da ist es wurscht ob ich mit Float oder Double rechne. Ich hab das über ein paar Tausend Testdaten laufen lassen, und die Approximation des Log Dualis war 10 mal genauer, also eine Dezimalstelle besser. Deshalb würde ich gerne diese Formel benutzen, aber da es eine Diplomarbeit ist muss ich das natürlich irgendwie fundieren können. Schade dass du nicht mehr weisst woher das ist. Ein Taylor Polynom scheint es nicht zu sein, jedenfalls kann ich es nicht herleiten. Trotzdem vielen Dank für deine Hilfe! -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
02.10.2004, 12:01 Uhr [ - Direktlink - ] |
Thema: USB MIDI Interface
Brett: Programmierung Zitat:Nein, weil an einem USB Port 8 MIDI DIN Ports hängen. Das geht, weil USB viel schneller ist als 31250 Baud MIDI. Ich muss also 8 Datenströme in einen hineincodieren, die dann das USB MIDI Interface wieder auf die 8 MIDI Ports verteilt. Beim alten Amiga Interface habe ich ja für jeden MIDI Port eine serielle Schnittstelle, somit kein Problem. Ich habe aber gesehen, dass solche USB Interfaces sehr teuer sind (350EUR+), das wäre ein bisschen gewagt das mal eben so auf Verdacht zu kaufen. Aber ich werde mir mal ein Masterkeyboard kaufen mit USB und versuchen das in Gang zu bekommen. Das dürfte leichter sein. Zusammenfassung: Beim USB MIDI Interface sende ich 8 logische MIDI Ports durch ein einziges USB Kabel. Am Ende des USB Kabels wird das aufgesplittet und an 8 DIN MIDI Outs verteilt. Das MIDI Protokoll unterstützt sowas nicht. Irgendwie muss ich also dem Datenpaket mit auf den Weg geben, auf welchem MIDI Out es landen soll. Ansprechpartner wird ja nur ein einziger USB Port sein. >Bei mir lief Poseidon leider nie auf Amithlon. Werde das mal mit >der neuesten Version testen. Was passierte denn? Es ist andauern gecrashed, extrem instabil, wenn man z.B. nach USB Devices sucht. Besonders mit dem input.device replacement, aber auch ohne ist es gecrashed. Ich hatte das Poseidon Demo. Eigentlich wollte ich das kaufen, aber erstmal testen, und da es nicht lief hab ichs dann gelassen. Vielleicht läufts ja inzwischen besser. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
01.10.2004, 20:54 Uhr [ - Direktlink - ] |
Thema: USB MIDI Interface
Brett: Programmierung @geit: Nein, MIDI hat kein Protokoll zum auswählen von Ports, es gibt nur pro Port 16 MIDI Kanäle. Wenn man am Amiga ohne USB mehrere MIDI Ports haben will, dann braucht man mehrere Serielle Schnittstellen, die man dann mittels Device und Unit Nummer aufwählt. Bei den alten Amiga MIDI Interfaces gab es zwar drei OUT Ports, aber auf jedem der drei liegt das identische Signal an. Das ist praktisch um mehrere MIDI Geräte sternförmig anzuschliessen, aber diese Geräte müssen sich dann die 16 MIDI Kanäle pro Port teilen und erhalten alle den gleichen Datenstrom. Das USB Interface hat aber 8 "echte" MIDI IN/OUT Ports, von denen jeder Port sein eigenes Singal haben kann. Das enstpricht praktisch 8 seriellen Schnittstellen mit MIDI Interface dran. Wenn das nun über eine Device Unit geht, hab ich keine Ahnung wie ich nun definieren kann, welcher Port angesprochen wird. Bei mir lief Poseidon leider nie auf Amithlon. Werde das mal mit der neuesten Version testen. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
01.10.2004, 16:08 Uhr [ - Direktlink - ] |
Thema: Log Lookup Table
Brett: Programmierung @Holger: ln(x) ~= 1/2(x-1)(3-x) scheint eine Approximation für ln(x) zu sein, wärend ld(x) ~= 1/3(x-1)(5-x) (?) wohl eine Appromixation für ld(x) ist. (Logatihmus Dualis, also zur Basis 2). Kannst du das bestätigen ? Die zweite Variante ist dabei wesentlich genauer, ca. um den Faktor 10. Ich kann leider kein Taylor Polynom finden oder herleiten was auf das herauskommt. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
01.10.2004, 13:37 Uhr [ - Direktlink - ] |
Thema: Log Lookup Table
Brett: Programmierung Zitat: Die Approximation mit dem Tylorpolynom für ln x habe ich nachvollzogen, das funktioniert auch. Aber in deinem Codebeispiel wird eine andere Aproximation gemacht, wie du siehst ergibt dich nicht das Polynom 1/2(x-1)(3-x) sondern 1/3(x-1)(5-x) hm... Wo kommt das denn her ? Die letztere Version ist 10mal genauer im Druchschnitt. Es wird auch nicht mit ln 2 Dividiert, deshalb müsste das so eine Art Taylor Polynom direkt für log10 sein. Ich kann das aber nicht herleiten. Evtl. ist das kein Taylor Polynom sondern was anderes, was nur so ähnlich aussieht ? -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
01.10.2004, 10:50 Uhr [ - Direktlink - ] |
Thema: USB MIDI Interface
Brett: Programmierung Für den USB Port gibt es MIDI Interfaces, die ein einen USB Port ageschlossen werden und am anderen Ende 8 DIN MIDI Anchlüsse haben. Theoretisch könnte man das usbserial.device nutzen um damit zu kommunizieren. Aber irgendwie muss ja definiert werden, welcher der 8 MIDI Ports angesprochen werden soll. Weiss jemand wie das funktioniert ? Evtl. ist schon MIDI unterstützung in Poseidon drin ? Funktioniert das usbserial.device überhaupt so wie ich mir das denke ? (also analog zum normalen serial.device) -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
28.09.2004, 13:35 Uhr [ - Direktlink - ] |
Thema: Doublebuffering oldfashioned...
Brett: Programmierung Weiss nicht mehr, habe so viel um die Ohren momentan. Vom Prinp hat sich aber an Asteroids nix geändert. Bei den meisten Grafikkarten gibt es keinen VBlank, drum kann man auch nicht darauf warten. Wenn WaitTOF() funktioniert, dann hat das nix mit dem VBlank zu tun sondern es wurde eben ein beliebiger Timer implementiert, dann vermutlich mit 50Hz. Deshalb: Vergesse alles was mit VBlank zu tun hat, und nutze das timer.device zum warten. Dann kannst du die Framerate auch viel besser beeinflussen und bist nicht an 50Hz gebunden. Auf Grakas kann man den Rasterstrahl nicht abfragen und ausnutzen. Du kannst also nur einfach drauf los blitten und hoffen dass es gut aussieht. Und meistens tuts das auch, siehe Asteroids. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
28.09.2004, 11:53 Uhr [ - Direktlink - ] |
Thema: Doublebuffering oldfashioned...
Brett: Programmierung Mein Tipp: Vergiss ScrollVPort(), WritePixelArray(), Softsprites und WaitTOF(). Ich empfehle dir, alles mit BltBitmapRastPort() zu machen. (Sprites mit der "masked" Variante. Kannst dir ja mal mein Asteroids anschauen, ob das deinen Vorstellungen nahe kommt. (http://asteroids.hd-rec.de) Das ganze funktioniert so: Du öffnest einen Screen der doppelt so hoch ist wie deine sichtbare Fläche und legst auf beide Hälften ein Window bzw. RastPort drauf. Du berechnest dein Bild komplett in der unteren, nicht sichtbaren hälfte. Wenn du fertig bist, schiebst du den kompletten inhalt mit BltBitmapRastPort auf den sichtbaren bereich. Dass es auf dem selben Screen ist hat den Sinn, dass beide Bitmaps im Graka RAM liegen und deshalb ist das verdammt schnell. Auf AGA/OCS ist das allerdings zu langsam, aber ab einer CV64 ist das schnell genug. Du bekommst leider keine Methode hin die auf Graka UND AGA gut performt, da die Strukur völlig anders ist. Entweder du entscheidest dich für AGA, dann geht es auf Graka nicht. Oder für Graka, dann geht es zwar auf AGA, ist aber langsam. Dein Timing machst du am bestem mit dem timer.device. Dann klappts auch mit AOS4 und MOS. Auf Copperlisten, VBlanks etc. kann man sich bei Grakas nicht verlassen. Achja, und noch ein Tipp: Auf Grakas sie Hintergründe retten. Immer alles neu Zeichnen. Warum ? AGP schreiben auf Graka: 500MB/sec, lesen: 3MB/sec. Auch auf einer CV64 ist das schneller, wenn deine Objekte im Graka RAM liegen. Da blittet auch eine CV64 mit 100MB/sec anstatt mit 2MB/sec durch den Zorro Slot. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
14.09.2004, 10:49 Uhr [ - Direktlink - ] |
Thema: Log Lookup Table
Brett: Programmierung @Holger Vielen Dank. Das war mir sehr hilfreich. (und lehrreich ) -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
05.09.2004, 13:41 Uhr [ - Direktlink - ] |
Thema: Log Lookup Table
Brett: Programmierung Zitat:Ja, habs dann auch gesehen. Vielen Dank nochmal für diesen Algorithmus, funktioniert prächtig. Ich hab noch eine Version gemacht, die nur den Exponenten nimmt, das ist 100mal schneller als log10 auf dem PDA. Das reicht teilweise sogar von der Genauigkeit her, da mein Zahlenbereich ja recht gross ist. Gibt es irgendeine Quelle woher dieser Algorithmus stammt ? Ist zwar mehr oder weniger Mathematik, aber ich muss ja sicher gehen, da ich es in einer Diplomarbeit verwende. Vor allem eine Quelle für die Approximation wäre hilfreich. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
04.09.2004, 15:06 Uhr [ - Direktlink - ] |
Thema: WinUAE oder Amithlon
Brett: AROS und Amiga-Emulatoren @Murmel Das heisst aber anders herum, das ein AOne mit AOS4 keine wesentlichen Vortiele bietet und nicht attraktiver ist als WinUAE. Ich denke eher, das sowas wie WinUAE mehr Wettbewerb bringt und die AOS4 Macher sich mehr anstengen müssen. Du gehst ja auch nicht auf den Markt und sagst: "Bitte verkauft keine billigen Äpfel mehr, damit alle die teuereren kaufen müssen und ich mehr Geld ausgeben kann". Die teuren Äpfel müssen halt soviel besser sein, dass man auch bereit ist das zu bezahlen. Und ohne WinUAE wäre AO4 nicht billiger und auch bestimmt nicht besser, sondern mangels Wettbewerb eher schlechter. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
03.09.2004, 21:03 Uhr [ - Direktlink - ] |
Thema: Log Lookup Table
Brett: Programmierung @Holger: Weist du wie ich A, B und C anpassen muss, wenn der log zwischen [1,100.000.000] liegt und nicht zwischen [1, 2] ? Ansonsten hab ich das nun am Laufen, evtl. ist es nicht ganz optimal weil ich diese Super-tricks wie "reinterpret" etc. weggelassen habe, aber es ist immerhin noch 6mal so schnell wie ein echter log10(). Jetzt werde ich evtl. statt der Verfeinerung mit A, B und C mehrere Lookup Tables machen. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
03.09.2004, 20:24 Uhr [ - Direktlink - ] |
Thema: Log Lookup Table
Brett: Programmierung Zitat: Das ist genial, aber läuft leider nicht unter eMbedded VisualC++. Er meckert schon, dass nach "inline" kein "(" käme. komisch. Ich habe es dann direkt eingebaut, weil ich es nur einmal brauche. Aber dann hat er bei "reinterpret_cast" gemeckert. Kann das jemand etwas umschreiben, dass es einfacher für den Compiler ist ? Aber man könnte folgendes draus machen: Ich lese den Exponenten aus der Float raus, das geht ja schnell. Und daraufhin entscheide ich den Lookup Table, und mache 8 Tables (wenn der höchste exponent 8 ist). Danke für die Tips soweit. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
03.09.2004, 19:27 Uhr [ - Direktlink - ] |
Thema: Grafik Geschwindigkeit
Brett: Programmierung Zitat:Wenn sich viele Objekte überlappen, dann brauchst du auch viel Speicher, unter Umständen sogar mehr. Rechne mal nach. Auch kannst du davon ausgehen, dass ein Blitt immer serh schnell ist. Ein Blitvorgang hat aber eine Initialisierung, und die braucht recht lange. Wenn du also die gleiche Fläche blittest, und in 200 Teile zerteilst, dann ist das wesentlich langsamer. Zitat:Intuiticks sollte nichts damit zu tun haben. Das kostet dich so gut wie eine Rechenleistung. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
03.09.2004, 14:47 Uhr [ - Direktlink - ] |
Thema: Log Lookup Table
Brett: Programmierung Einer der mich versteht ;-) Ja, genau daran hatte ich auch schon gedacht. Ist besser als nix, ich hoffe die If's machen mir die Performance nicht wieder kaputt. Aber auf sowas wirds wohl rauslaufen. Danke für den Tip. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
03.09.2004, 14:12 Uhr [ - Direktlink - ] |
Thema: Log Lookup Table
Brett: Programmierung Also vielleicht hab ich mich nicht klar ausgedrückt: Ich weiss wie Floats aufgebaut sind. Die Flaots bewegen sich zwischen 0 und 100.000.000. Ich soll den logarithmus draus ziehen. Der *Wertebereich* (NICHT der Definitionsbereich) sind bei einem normalen Lookup Table schlecht aufgelösst wenn es sich um log handelt. (ihr wiss ja wie eine Log Kurve aussieht. am Anfang steigts noch, später immer langsamer). log (1) = 0 log (10) = 1 log (100) = 2 log (1.000) = 3 log ( 90.000.000) = 7,95 log (100.000.000) = 8 Wenn mein Table 1000 Einteäge besitzt, dann muss ich 100.000er Schritte im Table machen, dadurch ist der Wertebereich von 0-4 total futsch, dafür von 4-8 sehr hoch aufgelösst. Ich will einen Table machen, weil das ganze auf einem PDA ohne FPU laufen soll. Ich habs mal getestet, ein Table ist dort ca. 20mal so schnell wie ein log(n). -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
03.09.2004, 11:17 Uhr [ - Direktlink - ] |
Thema: Log Lookup Table
Brett: Programmierung Hallo! Ich möchte einen LookUp Table machen für log(n), wobei n eine float zwischen 0 und 100.000.000 ist. Problem ist nun, dass ich eine LookUp Table Größe von ca 10.000 Einträgen machen will. Dadurch würde aber der Wertebreich bei kleinen Zahlen sehr grob und bei großen Zahlen unnötig fein aufgelöst. Weiss jemand wie man das optimieren kann ? Ich könnte noch linear interpolieren zwischen den Einträgen, was das prinzipielle Problem aber nicht behebt. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
03.09.2004, 11:13 Uhr [ - Direktlink - ] |
Thema: Grafik Geschwindigkeit
Brett: Programmierung Wie gesagt, rette auf KEINEN Fall die Hintergründe! Bei modernen Grakas ist das so: Lesen von Graka ca. 2MB/sec schreiben auf Graka ca. 500MB/Sec, schreiben innerhalb der Graka 2000MB/sec oder mehr. Die Angaben sind qualitativ gemeint, schwanken natürlich von System zu System, aber du siehst die Unterschiede. Deshalb nochmal (beide Möglichkeiten sind doppelt gepuffert und flackern nicht!): =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 1. Möglichkeit: Komplettrefresh =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Das ist schneller bei vielen Objekten, erfordert aber eine Mindestleistung der Grakas, sodass ein Classic schon etwas ins Schwitzen kommt, es geht aber noch mit 50fps. So funktioniert AsteroidsTR. Init: * Erstelle eine Bitmap für das Hintergrund Bild. * Erstelle eine Bitmap für die "Arbeitsbitmap". * Erstelle einen sichtbaren Screen in der Größe der Arbeitsbitmap. Bei Asteroids ist das so gelöst, dass der Screen einfach 3x so hoch ist wie sichtbar, dadurch ist garantiert dass alle drei Bitmaps im Graka RAM liegen, was sie aus Speedgründen auch dringend sollten. Eine Bitmap mit "friend screen" zu erstellen ist zu unsicher. Gameloop: Blitte die Hintergrundbitmap komplett auf die Arbeitsbitmap. Wenn es kein Hintergrund Bild gibt, dann musst du RecTFill() nehmen. Blitte alle Objekte neu auf die Arbeitsbitmap. Bitte die Arbeitsbitmap auf die Screenbitmap -voila. Zum Blitten immer BltBitmapRastPort() verwenden. Für Objekte mit Maske BltBitmapMaskRastPort() Diese Methode hat einen sehr hochen Grund-Aufwand, geht dafür nicht so schnell in die Knie wenn es viele Objekte gibt. Und normalerwiese ist es ja wichtig was bei vielen Objekten passiert, nicht ob der Overhead bei wenig Objekten gross ist, die laufen sowieso immer flüssig. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 2. Möglichkeit: Damagelist =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Das ist wesentlich schneller bei wenigen Objekten, geht aber in die Knie bei vielen. Da aber die obige Methode bei wenigen Objekten auch schnell genug für GRakas ist, sollte man die eigentlich vor ziehen. Diese Methode kann man aber nutzen wenn keine Hardwarebeschleunigung vorhanden ist oder der Rechner sehr lahm ist. So funktioniert AsteróidsTR_CPU. Init: * Erstelle eine Bitmap für das Hintergrund Bild. * Erstelle eine Bitmap für die "Arbeitsbitmap". * Erstelle einen sichtbaren Screen in der Größe der Arbeitsbitmap. * Erstelle eine Liste mit "damage" Regionen, die wir uns merken wollen. Also eine Liste mit x1,y1,x2,y2 Koordinaten. Gameloop: Wenn sich ein Objekt bewegt, dann füge einen Eintrag in die DamageListe dazu mit den (x1 y1) (x2 y2) Koordinaten des umgebenden Rechtecks des Objekts. Es muss ein Eintrag gemacht werden für die alte Position UND für die neue Position des Objekts. Bei Überlappung (meistens so) kann man optimieren, indem man daraus einen einzigen Listenentrag macht mit jeweils den Extremen Punkten. Wenn sich nun alle Objekte "bewegt" haben, arbeiten wird die DamageList ab. For Each DamageListItem { Setze eine neue ClipRegion mit den Koordinaten des wiederherzustellenden Bereiches auf die Arbeitsbitmap. (InstallClipRegion()). Blitte Hintergrund und dann alle Objekte auf die Arbeitsbitmap. Evtl. kann man mit "if" abfragen, welche überhaupt in Frage kommen, ansonsten besorgt uns die ClipRegion das. Blitte den Bereich von der Arbeitsbitmap auf die Screenbitmap. Lösche die Region (InstallClipRegion() mit der alten Region). } fertig! So, das wars. Denke immer dran, für jedesmal wo du einen Rechteckigen Bereich AUS der Grafikkarte ausliesst, könntest du 20x das gleiche hineinblitten. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
30.08.2004, 16:03 Uhr [ - Direktlink - ] |
Thema: [WinUAE] leichtes flackern am Rand
Brett: AROS und Amiga-Emulatoren WinUAE läuft unter XP nicht notwendigerweise in der gleichen Frequenz wie der Windows Screen. Muss der Monitor neu syncen ? Ansonsten TFT Bildschirm kaufen !? -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
27.08.2004, 12:35 Uhr [ - Direktlink - ] |
Thema: Amithlon-Probleme
Brett: AROS und Amiga-Emulatoren 1. New Kernel Update drauf ? 2. Probiere smallird.gz und bigird.gz, die verhalten sich anders. Tendenziell solltest du versuchen, smallird.gz zum laufen zu bringen, da keine RAD mit drin ist die 8MB verschwendet. 3. Die Optionen ist der "amithlon" Datei müssen alle stimmen, besonders die leavpages etc. Die sind bei smallird und bigird anders. Das ist sehr wichtig dass dass stimmt. Wenn du willst schick ich dir meine Konfigurationsdatei zu, die mit smallird.gz und dem NewKernel läuft. Ciao, Thilo -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
26.08.2004, 18:49 Uhr [ - Direktlink - ] |
Thema: Amithlon Läuft nicht mehr :-((
Brett: AROS und Amiga-Emulatoren Achja, hat du evtl. Karten Steckplätze getauscht ? Wenn ja, probiers nochmal mit der alten Reihenfolge. Das kann grosse Auswirkungen haben. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
26.08.2004, 18:48 Uhr [ - Direktlink - ] |
Thema: Amithlon Läuft nicht mehr :-((
Brett: AROS und Amiga-Emulatoren Am besten du formatierst alle PArtitionen wieder mit FAT32. Ich weiss, das Windows das nicht erlaubt, aber du kannst es erstmal mit 32GB formatieren, und später mit Partition MAgic ändern. Ich habe 90 GB Fat32 partition und keine Probleme. Wenn du Amithlon auf Festplatte hast und auf CD, dann heisst das nicht, dass sich beide gleich verhalten. Ich hatte es oft, dass es von CD nicht ging aber von Platte und umgekehrt. Generell würde ich aber ein Kernel Update dringen empfehlen. Wenn du willst zippe ich dir den und schick den zu. (Darf ich doch, oder ? Gibts ja zum freien Download) Wie ist der denn im original gepackt, als lha oder tgz ? -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
23.08.2004, 16:55 Uhr [ - Direktlink - ] |
Thema: Bilder im AmigaGuide
Brett: Programmierung Stimmt, Bilder direkt einbauen geht scheinbar nicht. Wie sieht es mit dem powerguide aus ? Darf ich den in mein Release Archive reinpacken ? -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
23.08.2004, 02:32 Uhr [ - Direktlink - ] |
Thema: Bilder im AmigaGuide
Brett: Programmierung In diesem Guide steht allerdings nichts über Bilder :-( -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
22.08.2004, 20:41 Uhr [ - Direktlink - ] |
Thema: Bilder im AmigaGuide
Brett: Programmierung Weiss jemand wie ich Bilder innerhalb eines AmigaGuide Dokumentes darstellen kann und ob das überhaupt geht ? Gibts es irgendwo im Netz eine Dokumentation zum AmigaGuide Format ? -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
13.08.2004, 14:33 Uhr [ - Direktlink - ] |
Thema: Kennt Ihr DIE noch
Brett: Amiga, AmigaOS 4 Saugen mit DSL ist schneller als Floppy. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
bubblebobble
Nutzer
31.07.2004, 19:36 Uhr [ - Direktlink - ] |
Thema: Fahrenheit 9/11 ein super guter Film
Brett: Get a Life Also ich finde der Film ist genauso plumpe Propaganda wie alles andere auch. Eigentlich dürfte man so einen Film so kurz vor der Präsidenten Wahl nicht zeigen. Da wird mit wirklich plumpen Methoden Hetze gegen Bush gemacht, ohne dass der sich wehren kann. Ich bin auch nicht unbedingt für Bush, aber was man in dem Film zu sehen bekommt ist z.Z. einfach nur dumm. Aber der Film ist ja für den Durchschnitts-Amerikaner gemacht, und wenn ich mir so Sendungen angucke wie diese "Jerry" Talkshow dann verstehe ich warum der Film in Amerika ein Erfolg ist. Unterm Strich finde ich dass der Film eine bessere RTL2 Reportage ist. Wäre ich in Deutschland ins Kino und hätte ich 8EUR dafür bezahlt würde ich mir blöd vorkommen. Anti-Bish Propaganda und die Leute zahlen auch noch dafür. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de |
|||||
|
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |