Suchergebnisse
Suchergebnisse 1-30 von insgesamt 1.000. Es gibt noch weitere Suchergebnisse, bitte verfeinern Sie Ihre Suche.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
Welche Prozedur hat mich aufgerufen - Log-Ausgabe
jvbsl - - Tipps & Tricks zu sonstigen Problemstellungen – Allgemeines
Beitragdocs.microsoft.com/en-us/dotne…e?view=netframework-4.7.2 Hat folgende Vorteile: 1. Es verwendet kein Reflection sondern wird zur jitter zeit eingetragen. 2. Die Ausgabe ist auch bei inlining akkurat. Die MethodInfo kann ggf die übergeordnete Methode geben, wenn die Methode geinlined wurde.... 3. Man spart sich Code und der Aufruf sieht viel sauberer aus... 4. Es wurde extra für solche Fälle gemacht.
-
Präfixe für Controls kann ich noch verstehen. Aber dein Button sollte trotzdem die Aktion deutlich machen... Lohnsteuer was? Löschen/berechnen/whatever? Für Variablen typen gibt es heutzutage etwas, das nennt sich IDE. Da brauchst auch nicht viel länger um den typ zu erkennen. Außerdem ist das Problem nicht direkt den typen zu verschulden, auch wenn du das ergebnis als double hättest findet eine Ganzzahlberechnung statt und da liegt nämlich das Problem begraben, zwar ist es eine Möglichkeit die …
-
Also in C# gibt es keine math operatoren auf byte, sondern wird implizit zu int gecastet. Ist das bei Vb.Net etwa anders?
-
du willst vlt. eher den Farbwert als HSL, damit du die Brightness auslesen kannst: docs.microsoft.com/en-us/dotne…s?view=netframework-4.7.2 Um irgendeine Art von "Screenshot" wirste nicht drumherum kommen und da hängt es auch davon ab, ob es sich um GPU-accelerated zeug handelt oder nicht(Games z.b. oder normale WinForms anwendung)
-
Jop so meinte ich, natürlich kann man da noch ausschmücken z.b. SetKernelVariable und dann eben die unterschiedlichen überladungen etc
-
Dir gehts um performance, aber dann sowas Außerdem ist Inlining für Methoden die so groß sind eher hinderlich als hilfreich. Wenn es die performance nicht verschlechtert, dann wird sie zumindest nicht besser... Was spricht denn gegen soetwas?: Quellcode (6 Zeilen)
-
Sobel ist nen einfacher Kernel-Operator der auf jeden Pixel angewendet werden muss, natürlich gibt es da dann noch entsprechende optimierungen. Was wichtig ist, dass du möglichst wenig Daten an/von die/der GPU übertragen musst. Z.B. vergleichst du immer den vorherigen Frame mit dem aktuellen Frame. Beim nächsten durchlauf verwendest du den aktuellen Frame als vorherigen Frame, d.h. du musst nur 1 frame/vergleich übertragen. Weiter geht es damit, dass es sich ja anscheinend um ein Video handelt, …
-
Mit MSIL wollt ich nur darauf aufmerksam machen, dass es unfair ist OpenCL dafür "schlecht" zu machen, dass du die ganze initialisierung brauchst, weil im Prinzip tut C# mit deinem Programm dasselbe. Also für dieses Thema brauchst dich nicht wirklich einlesen... Mir ist jetzt immer noch nicht klar was auswerten bedeutet. Was bedeutet kompliziertes Bild? Was machst du danach mit den Daten?
-
Was dein Programm macht wenns in C# ist und du es prinzipiell gleich schreibst: --- Init 1. .... 2. MSIL Code laden 2.1. JIT PrepareMethod... 2.2. Auf MSIL fehler prüfen 3. ... --- Run 1. ... 2. Run 3. Marshal.Copy in Bild zurück... Es ist nicht so viel unterschied im Groben. Natürlich hast du viel davon zusätzlich. Also Init kannst doch fast nicht zählen, oder? Passiert einmal, da gibts nunmal nicht großartig optimieren, du könntest beim ersten Start für den nächsten Start evtl. cachen, aber ab…
-
Hier wird ein möglicher Algorithmus erklärt: stackoverflow.com/questions/59…s-without/6634668#6634668
-
C/C++ zu C# Convertieren
BeitragGenau, ist anders leider nicht möglich. wäre es ARGB(also 4 Bytes), dann wäre es einfacher. Naja eine weiter Möglichkeit wäre natürlich dann auf die Grafikkarte auslagern^^
-
C/C++ zu C# Convertieren
BeitragPerformance technisch nein. Der Sinn des longs ist, dass du mehrere bytes auf einmal invertierst und nicht jedes byte einzeln. Die struct ist zwar ansich schön und wäre auch der weg den ich nehmen würde, aber wenn es um Performance geht, dann muss man das ganze halt anders angehen.
-
C/C++ zu C# Convertieren
BeitragAlso diese struct ist zwar schön, aber für die perf bringt sie dir nivhts. Das mit long hat schon seinen Grund, schließlich hast du ~1/8 der invertier aufrufe und Sprünge, das ist einiges...
-
C/C++ zu C# Convertieren
BeitragAlso 255 - x wobei x E [0;255] ist ja äquivalent zu ~x. Einfach die bits invertieren. Deshalb kannst du einerseits einfach ~x verwenden und andererseits das ganze auch mit long machen. d.h. du verwendest statt byte* eben long* und machst ebenfalls ~x, jedoch hält ein long 2 2/3 Pixel. D.h. du musst am ende evtl noch was zusätzlich machen. Pseudo: C#-Quellcode (12 Zeilen)
-
C/C++ zu C# Convertieren
BeitragWie viele bytes ergeben denn einen pixel? Du könntest einen code machen, der die pixel auf long basis invertiert statt byte, da bekommste bestimmt einiges raus, parallelisierbar ists sogar auch.
-
C/C++ zu C# Convertieren
BeitragDanke, hatte ich bisher noch nirgends, ist mir deshalb nie aufgefallen.
-
C/C++ zu C# Convertieren
BeitragWas ich auch geschrieben habe^^
-
C/C++ zu C# Convertieren
BeitragDas muuss weder vorher noch nachher genullt werden. Vorher nicht, weil die variable hoffentlich von der Funktion überschrieben wird(bzw. Man einen Status zurück bekommt). Und am ende auch nicht. Das macht man eher wenn nicht ganz klar ist wann es sich um einen gültigen ptr handelt und wann nicht und macht dann das Debugging einfacher, mehr aber nicht. char* im allgemeinen kann in C# alles was du genannt hast sein, außer char[] da ein char in C# 16bit groß ist und in c(++) 8bit. Außerdem ist es i…
-
C/C++ zu C# Convertieren
Beitragdas passendste für char** ist in C# sbyte**. Aber um das zu verwenden was am geschicktesten zu verwenden ist, muss man Wissen, was C++ damit macht. Es könnte auch ref sbyte* passend sein oder out sbyte*. Ist das ein Parameter der von innen gesetzt wird, oder ist es reiner Input?
-
Oder einfach selber machen. Pseudo: C#-Quellcode (18 Zeilen) docs.microsoft.com/en-us/dotne…gment?view=aspnetcore-2.1 man muss natürlich nicht yield verwenden, aber das Prinzip ist dasselbe. Und weniger allocs als bei bisherigen Vorschlägen
-
Auch wenn der Beitrag inzwischen uralt ist, aber da du diesen als Lösung für dich gefunden hast, würde ich dir noch gerne sagen, dass MS DirectInput für tot erklärt hat und stattdessen RawInput verwendet werden sollte. Dazu findet man eigt auch viel im Netz. Wenn man WinAPI von c nach .net übersetzen kann ist es besonders einfach.
-
IntPtr hat nicht wirklich ein äquivalent in C/C++. IntPtr kann man für alles verwenden was nen Pointer will. Man könnte sogar IntPtr verwenden um ein int/long(abhängig von Architektur) zu übergeben. Edit: mir ist noch aufgefallen, dass es in C++ intptr_t gibt. Was aber eben nur ein typedef auf long/long long sein dürfte, aber eben auch abhängig von architektur. Was man jedoch hier haben will ist nicht ein C-Array(was ja eigt. nur ein pointer auf memory währe), sondern eben ein Pointer der verwen…
-
Wie funktioniert eine CPU?
Beitragkönntest dir z.B. das hier mal angucken: home.in.tum.de/~minnerup/ETI/M…grammierbare Maschine.pdf Und einfach etwas damit rumspielen: wwwi10.lrr.in.tum.de/%7Eeti/Praktikum/JMic.jar Die software ist zwar kacke programmiert macht aber im Grunde was sie soll. Damit solltest dann schon mal ein relativ gutes Verständnis für heutige Prozessoren bekommen...
-
Jeder der Algorithmen über dekompilation holt bewegt sich in illegalem bereich. Ohne NDA gilt das denke ich nicht automatisch, schließlich zeigen sie dir den Code freiwillig, aber durch die NDA wird dies wiederum verhindert. Obfuskation hat so gut wie keinen sinn. Es sei denn es handelt sich nur um einen Nebeneffekt einer Kompression(häufig im web verwendet)
-
Wichtig ist, anzumerken, dass bei YAML(falls es denn solche Dateien sind) wird ohne Byte-Order-Mark(BOM) eben auf UTF8 defaultet, das gilt nicht generell für alle Dateien. Und abgesehen von UTF-8 muss YAML ausschließlich UTF-16 BE/LE unterstützen. Welche dann durch die entsprechenden BOM angegeben werden. de.wikipedia.org/wiki/Byte_Order_Mark