Zum Inhalt springen

FinalFantasy

Mitglieder
  • Gesamte Inhalte

    966
  • Benutzer seit

  • Letzter Besuch

Beiträge von FinalFantasy

  1. Ich möchte mich zum einen allgemein mit Profiling beschäftigen, zum anderen benötige ich die Software um Performanceprobleme zu lösen, bzw die Performance zu steigern. Das bezieht sich auf "langsamen" Code oder hohen Speicherverbrauch. Die Software soll mir dabei helfen, die verantwortlichen Codestellen zu finden.

    @Klotzkopp: Der Vorschlag von dir sieht auch nicht schlecht aus, werd ich mir auch nochmal genauer ansehen.

  2. Hi,

    ich bin zur Zeit auf der Suche nach ner guten Profilingsoftware für Windows und C++. Wir verwenden Visual Studio 2005, es wäre also nicht schlecht, wenn es sich dort integrieren könnte.

    Ich habe mir schonmal die Demo von Intels vTune angesehen und der erste Eindruck war nicht schlecht. Ausserdem wäre es nicht schlecht, wenn Literatur zu dem Profiler verfügbar wäre, da ich mich gerade erst in das Thema einarbeiten will. Zu vTune findet Amazon allerdings gerade ein einziges Buch.

    Hat vielleicht jemand Erfahrung auf diesem Gebiet und kann mir etwas empfehlen?

  3. QDataTable stammt aus Qt3. Ich kenn mich nur mit Qt4 aus, da gibts keinen QDataTable mehr.

    Aber da du auch von ListView schreibst:

    In Qt gibt es oft 2 Klassen, z.B. QListView und QListWidget, oder QTableView und QTableWidget.

    Der Unterschied ist, dass man für die Views separat ein Model braucht, das von QAbstractItemModel abgeleitet ist. So ein Model kann man dann als Datenquelle für einen ListView oder TableView (und alle anderen die das akzeptieren) verwenden. Das ist zwar etwas komplizierter, dafür hat man nahezu unbegrenzte Möglichkeiten bei der Darstellung.

    Die *Widget-Klassen dagegen haben bereits ein Model integriert, hier funktionierts dann auch mit insertItem(). Das führt bei einfachen Darstellungen schneller zum Erfolg. Sobald es aber etwas ausgefallen wird, muss man oft zum View greifen, da die Widgets doch recht eingeschränkt sind.

    Vielleicht hilft dir die Info ja ein bisschen.

  4. Da ich aber ungern Kommentare tippe, sind manchmal Funktionen mit Liedtexten oder sonst irgendwas beschrieben; die Kollegen freuen sich da immer ungemein. :floet:

    Wie darf man das verstehen? Du tippst ungern Kommentare, aber lässt dir statt dessen Liedtexte einfallen, die du dann als Kommentar hinschreibst? :uli

    Bei uns steht auch der eine oder andere Ausraster als Kommentar im Quellcode. Ist auch immer ganz erheiternd. :D

  5. Ich benenne meine Variablen (momentan in C++) auch im Camelcase.

    Membervariablen mit mVar, lokale Variablen nur var. Die Variablennamen sollten sprechend sein und natürlich nur Englisch, da kanns schonmal vorkommen, dass ein Variablenname 25-30 Zeichen lang wird (ist aber eher die Ausnahme).

    Es gibt aber noch mehrere Konventionen hier in der Firma, was Klassennamen, "Interfaces" und sonstiges betrifft.

    Für kleine Testprogramme, nur schnell um was auszuprobieren, heissen Variablen auch schonmal blubb, bla, blaa, foo, bar oder deadmeat.

  6. Hi,

    ich arbeite hier gerade an einem Qt GraphicsView der Zoomen unterstützt.

    Jetzt habe ich das Problem, dass ich manche Sachen unabhängig vom Zoomfaktor immer mit festen Pixelwerten zeichnen will.

    Also zum Beispiel ein Rechteck, dessen Größe durchaus mit dem Zoomfaktor skaliert, aber die Outline immer mit exakt 1 Pixel gezeichnet wird.

    QGraphicsItem::ItemIgnoresTransformation kann ich nicht hernehmen, da dann ja auch die Größe des Rechtecks nicht skaliert werden würde.

    Dass die Outline mit 1px gezeichnet wird, habe ich bereits geschafft.

    Im paint-Event setze ich einfach den pen mit der Beite:

    pen.width() / painter->combinedTransform().m11();

    dadurch wird die Breite auf einen Wert gesetzt, der in der aktuellen Zoomstufe genau 1px ergibt.

    Das Problem ist: Um an den Zoomwert zu kommen, brauche ich den Painter. Den habe ich aber nur im paint-Event. Jetzt müsste die Linienbreite aber auch in das BoundingRect (und ggf. sogar die shape) eingerechnet werden, aber da steht mir ja kein Painter zur verfügung.

    Hat da jemand eine Idee wie man das lösen könnte?

    Oder vielleicht einen Literaturtipp speziell zum QGraphicsView-Frameworks (aber bitte keinen Verweis auf die Qt Docu, die kann ich schon bald auswendig)?

    Sprache ist C++.

  7. Was haltet ihr davon? Bzw. findet ihr es toll, oder mies?

    Toll

    Wollt ihr euer Haus irgendwann auch in ein Heimkino verwandeln?

    Nein

    Habt ihr das bereits ein Heimkino?

    Wenn man einen 32" LCD mit ner relativ billigen Sourroundanlage als Heimkino bezeichnen kann, dann ja.

    Wollt ihr es lieber lassen, weil es euch überhaupt nicht zusagt, zu teuer ist oder zu umständlich ist es zu installieren?

    Sagen wir mal so: TV, Radio, DVD, ... läuft bei mir alles über den PC der am LCD-TV und der Sourroundanlage angeschlossen ist.

    Getrennten Sat-Receiver, DVD-Player oder sowas habe ich gar nicht mehr.

    Unter welchen Umständen würdet ihr euch sowas zulegen?

    Solang es sich in Grenzen hält, eine reine Preisfrage.

  8. Pure Virtual Function call heisst, dass du eine Funktion aufrufst, die zwar definiert, aber nicht implementiert ist.

    Da es beim Beenden passiert, tippe ich auf einen Fehler im Destruktor deiner CInternetSession, dazu hast du aber leider keinen Code gepostet.

    Wenn es bei CInternetSession kracht, wäre deren Innenleben interessant.

  9. VGA auf Scart kann sehrwohl gehen.

    Scart an sich ist nämlich gar keine spezielle Anschlussart, sondern nur ein Fromat des Steckers.

    Ein vollbeschaltenes Scartkabel reicht nur mehrere andere Anschlussformate durch, so ist in Scart z.B. S-Video, Komponenten-Video, YUV, etc. enthalten.

    Alte Computermonitore hatten oft nur den YUV-Komponentenanschluss und dementsprechend Kabel mit YUV->VGA.

    VGA ist desweiteren nichts anderes als YUV-Komponenten mit einem anderen Stecker.

    Ich betreibe beispielsweise auch eine PS3 mit YUV-Ausgang am VGA-Port meines Flat-TVs.

    Das Problem dabei ist meistens nur, dass die TV Geräte die entsprechenden Pins vom Scartanschluss für YUV oder S-Video nicht verschaltet haben und das TV-Gerät so diese Signal nicht verwerten kann.

    Neuere TV-Geräte haben dann meistens sowieso andere Anschlüsse.

    Auch der S-Videoanschluss ist bei älteren TV Geräten oft problematisch, da es auch hier 2 Unterschiedliche Beschaltungen für die Stecker gibt und ältere TV-Geräte sich nicht auf beide verstehen. Das Ergebnis ist dann das typische Schwarz-Weiß Bild auf dem TV.

  10. Hi,

    ich habe hier gerade ein kleines Konstrukt zustande gebracht, bei dem ich nicht verstehe, wieso es nicht funktioniert.

    Das Ausgangskonstrukt war so:


    class Interface {
    public:
    virtual void load(DomNode node) = 0;
    virtual void save(DomNode node) = 0;
    }

    class A : public Interface {
    public:
    virtual void load(DomNode node) { MACH WAS };
    virtual void save(DomNode node) { MACH WAS };
    }
    [/PHP]

    Aber da Programmierer ja faul sind, wollte ich mein Interface um eine Methode erweitern, die mir das Laden direkt aus einer Datei erlaubt.

    Also so:

    [PHP]
    class Interface {
    public:
    virtual void load(DomNode node) = 0;
    virtual void save(DomNode node) = 0;

    void load(String Dateiname) {
    File file(Dateiname);
    if(file.open()) {
    DomDocument doc(file.readAll());
    load(doc.rootElement());
    }

    }
    }

    Damit habe ich die load-Methode ja überladen, auch wenn eine virtuell abstrakt ist.

    (Ich habe schon versucht, die zweite load-Methode auch virtuell zu machen, obwohl das nicht nötig wäre, bringt aber auch keine Besserung)

    Was ich jetzt NICHT funktioniert:


    A a;
    a.load("test.xml");
    [/PHP]

    Fehlermeldung: const char[] kann nicht in DomNode konvertiert werden.

    Folgendes Konstrukt klappt aber:

    [PHP]
    A a;
    Interface* if = dynamic_cast<Interface*>(&a);
    if->load("test.xml");

    Wieso ist die load(string)-Methode in der abgeleiteten Klasse nicht verfügbar?

    Wenn ich die load(string)-Methode im Interface allerdings loadFromFile() nenne (und damit die Methode nicht mehr überlade), klappt es auch wie es soll.

    Ist übrigens alles Pseudocode aber wie gesagt, es handelt sich um C++.

  11. Also ich spiele mit Gamepad und da ist (wenn man von ner PSX ausgeht) die Kreistaste rücksetzen zum letzten Checkpoint und R1 is Rücksetzen zum Start, bzw Rennen neu starten.

    In nem Tournier brauchste aber eh nicht weiterfahren, wenn du schonmal rücksetzen müsstest.

    Ich weiß nicht, wie da die Tastaturbelegung ist, aber kannst ja mal in den Einstellungen nachschauen. Das geht auf jeden Fall.:D

  12. Er ist ganz praktisch, wenn man seine Oberflächen lieber "malt" anstatt direkt den Code dazu zu programmieren.

    Aber rein programmiertechnisch kann man mit dem Qt Designer alleine nicht viel anfangen.

    Dazu brauchst du mindestens noch einen Editor und einen Compiler und va. Qt selbst, falls du Qt verwenden willst.

    Oder eben einfacher gleich eine komplette IDE, wie Visual Studio, XCode, DevC++, Eclipse...

    EDIT: Kannst dir ja mal den Qt Creator anschauen. Das ist eine komplette IDE auf Qt zugeschnitten. Verwaltet direkt die pro-Files, hat den Designer schon intergriert...

    Ist allerdings noch Beta.

  13. Der QT Designer ist nur zum Erstellen von Oberflächen gedacht, das ist keine IDE. Damit kann man keinen Code programmieren und damit auch nichts kompilieren.

    Die ui-Datei (UserInterface) ist auch keine Projektdatei, sondern eine XML-Datei, die deine GUI beschreibt.

    Das einzige was du machen kannst ist, dir mit dem uic (UserInterface Compiler) der bei QT (nicht dem Designer) dabei ist, deine ui-Datei in ein ganz normales C++ Sourcefile umwandeln, welches du dann mit deinem C++ Compiler kompilieren kannst.

  14. Jetzt muss ich auch mal meinen Senf dazugeben:

    Also ich finde auch, dass der Verfall von Rechtschreibung und Grammatik in letzter Zeit stark zugenommen hat und leider auch die Verwendung von Denglisch und ähnlichen Neologismen.

    Wie ich dazu komme? Ich treffe in vielen Foren immer häufiger auf solche Beiträge und noch viel schlimmer: Ich merke es in letzter Zeit auch bei Freunden und Bekannten.

    Groß- und Kleinschreibung find ich da noch nichtmal schlimm, Rechtschreibfehler/Tippfehler gehen auch noch, aber was ich absolut nicht ausstehen kann, sind interpunktionslose und absatzfreie 10 Zeilen Texte.

    Man muss alles dreimal lesen um überhaupt den Sinn zu verstehen.

    Ein Freund von mir, den ich jetzt seit 5 Jahren kenne, ist wirklich Legastheniker (ärztlich bescheinigt) und von daher kann ich sagen, man kann den Unterschied zwischen Legasthenie und nicht Legasthenie schon gut erkennen.

    Im Chat wundere ich mich noch nichtmal über Chatkürzel, etc. (früher mit Modem konnte man das noch mit "Bandbreite sparen" erklären :cool:). Aber spätestens bei Instant Messenger, Foren, etc. wo die Beiträge doch mal mehrere Sätze umfassen können, wären Satzzeichen oft schon nicht schlecht.

    Gegen Dialekt im Chat oder IM hab ich dagegen gar nichts, zumindest wenn der "Gegenüber" den selben Dialekt spricht/versteht.

    So, und zum Schluss: Ich bin kein Deutschlehrer und schreibe sicherlich auch nicht immer fehlerfrei... aber ein bisschen mehr könnte es, bei dem was man so liest, schon oft sein. Lieber mal ein falsches Komma zuviel, als ein richtiges zu wenig.

  15. Ich bin selbst noch stolzer Besitzer eines P4 3,0Ghz und ich hab eine Radeon X1800GTO drinnen.

    Ich bin momentan auch am Überlegen, ob ich mir ein neues System kaufe, aber da mir der PC fürs alltägliche eigentlich leistungsfähig genug ist, werd ich wohl noch Windows 7 abwarten.

    Aber zu deinem System: Erfahrungsgemäß ist dein System recht gut ausbalanciert. Nur eine neue Graka bringt nicht viel, da dann die CPU bremst.

    Da sowohl Grafikkarte als auch CPU schon mehrere Generationen alt sind, würd ich auch zu einem neuen System raten, als zu irgendwelchen Aufrüstaktionen.

  16. Es geht um C++. War mir gar nicht bewusst, dass es hier einen Unterschied zu C gibt. :beagolisc

    Okay, also könnte man sich funktional auf den Code verlassen, aber es ist unschön.

    Ich bin immer davon ausgegangen, dass true alles ausser 0 sein kann, da bool ja intern wie ein int behandelt wird.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...