|
You last visited: Today at 15:15
Advertisement
Comunity version Allgemein Performance Frage :)
Discussion on Comunity version Allgemein Performance Frage :) within the .NET Languages forum part of the Coders Den category.
04/26/2018, 20:11
|
#1
|
elite*gold: 0
Join Date: Jan 2013
Posts: 131
Received Thanks: 11
|
Comunity version Allgemein Performance Frage :)
Hey
wie jeder kennt gibt es so Meinche Trix um die Performance innerhalb der form zu verbessern wie zum beispiel der Befehl; DoubleBuffered = True zu setzen.
Ich wollte an der stelle fragen ob es noch weitere nützliche Codes gibt
um etwas besser zu Performen zu können.
Meinche einer setzt hier bei auf das Klassische Dispose befehl
um wieder Speicher frei zu geben.
Aber ich würde gern mehr erfahren ob es noch mehr Möglichkeiten gibt
wie das DoubleBuffered Schema :3
Ja ich bin relativ neu in dem Programmierer bereich aber ich kenne mich
mittlerweile recht gut aus bzw komme gut zurecht nur würde ich gern mehr und
auch neue dinge mir aneignen wollen
ahja und bevor ich es vergesse schreibt bitte daneben wen es euch nichts aus macht was es genau verbessert 
Schließlich will ich es ja auch verstehen können ^^
Liebe Grüße
ProDielerNR(1)
|
|
|
04/27/2018, 08:22
|
#2
|
elite*gold: 0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
|
DoubleBuffered ist aber primär nicht für die Performance gedacht, ich weiß auch nicht pauschal wie sich das darauf auswirkt ehrlich gesagt, es werhindert halt lediglich das die Form bei manchen dingen flackert weil die öfters neu berechnet wird als sie gezeichnet wird.
Disposing ist auch eher ein Beispiel um Systemresourcen wie Streams auf Dateien nach Verwendung wieder freizugeben, damit du eine Resource mit deiner Anwendung nicht weiter blockierst, nachdem du mit deinen Operationen, z. B. Laden, eigentlich schon fertig bist.
Denke die wichtigsten Dinge die man berücksichtigen sollte findet man, wie so üblich, mit den ersten drei bis fünf Google Treffern. Ist auch nicht immer sinnvoll alles strikt zu optimieren, vieles macht die Runtime auch schon, Stichwort kaputt optimieren.

|
|
|
04/27/2018, 14:55
|
#3
|
elite*gold: 0
Join Date: Jan 2013
Posts: 131
Received Thanks: 11
|
Ich wusste erlich gesagt nicht wonach ich suchen soll daher habe ich hier nach Rat gefragt/gesucht. 
Ich werde mir auf jedenfall die links mir heute Abend durchlesen.
Super das du mich korrigiert hast, ich hab mir jedoch schon so etwas gedacht
aber auch von der Berechnung her wird es Optimiert zumindest wen es um Transparenz geht.
So kommt es mir Jeglich vor aber super erklärt
Anmerkung;
Man ist es schwer sich nicht zu bedanken
(wegen der regel) das fehlt mir immer wieder so auf xD
Liebe Grüße
ProDielerNR(1)
Vielleicht bin ich zu dumm um es zu verstehen...
Jedenfalls hat es mich leider nicht wirklich weiter gebracht :?
Ich hoffe/Freue mich jedoch noch mehr Kommentare von euch Lesen zu können ^^
|
|
|
04/29/2018, 22:08
|
#4
|
elite*gold: 0
Join Date: Jan 2013
Posts: 131
Received Thanks: 11
|
Scheint wohl so das außer dir niemand wirklich hilfst bereit ist oder eine Idee hätte Serraniel ^^"
Naja wie auch immer dann können wir auch das Thema schließen.
Closed Quest
|
|
|
04/30/2018, 11:39
|
#5
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Ich verstehe nicht so ganz was du willst. Willst du, dass die GUI responsiv bleibt wärend du rechenintensive Aufgaben durchführst oder allgemein nur die Performance deiner Applikation verbessern?
Ich benutze immer gerne Tasks/Threads für Aufgaben. Vielleicht hilft dir das schon weiter.
|
|
|
04/30/2018, 19:24
|
#6
|
elite*gold: 8
Join Date: Sep 2014
Posts: 625
Received Thanks: 178
|
Normalerweise versucht man die Performance nur zu verbessern, wenn sie ein Problem darstellt. Dann ermittelt man über Metriken wo das Problem konkret ist und sucht nach einer Lösung. Allgemein nach Performance-Tricks zu fragen macht, meiner Meinung nach, hier nicht so viel Sinn.
Viele Grüße
|
|
|
05/04/2018, 23:20
|
#7
|
elite*gold: 238
Join Date: Sep 2009
Posts: 2,327
Received Thanks: 1,165
|
Die Idee GUI und "Logik" voneinander zu trennen halte ich für clever wie Ludder231 schon sagte.
Du könntest dir auch überlegen auf eine andere Technologie als WinForms zu setzen, WPF, XNA (wurde leider eingestellt)...
Der Einstieg in WPF fällt recht schwer, zumindest war das bei mir so, lohnt sich aber, denn die GUIs sehen besser aus und sind auch "performanter".
So richtig Code Tricks für bessere Performance hab ich jetzt nicht kommt auf den konkreten Fall an, aber mit Graphics (System.Drawing und GDI+) zu arbeiten ist zum Beispiel schneller und besser als irgendwie sowas wie ein Farbverlauf über Bitmap.SetPixel(x,y,color) zu generieren.
Es ist am Ende alles eine Frage von klever verwendeten Algorithmen.
|
|
|
05/05/2018, 01:39
|
#8
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,547
Received Thanks: 1,418
|
Quote:
Originally Posted by mrapc
XNA (wurde leider eingestellt)...
|
Stimmt nur so halb. Ja, XNA wird von Microsoft nicht mehr weiterentwickelt, allerdings gibt es seitdem  , welches immer noch aktiv entwickelt wird und auch noch sehr viel XNA Code enthält. (Natürlich komplett  )
ProDielerNR(1), wenn du da an einem Spiel arbeitest und das Zeichnen zu viel performance kostet, solltest du dir MonoGame ansehen (oder eine Engine wie z.B. Unity oder Xenko). Wenn das ein "normales Programm" ist, dann sind WindowsForms oder WPF normalerweise die bessere Entscheidung.
|
|
|
05/05/2018, 18:26
|
#9
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
|
Eine Sache die Anfänger oftmals vergessen ist das locken von GUI controls beim updaten. Z.B. Listboxen updaten bei jeder Änderung. Wenn man jetzt viele änderungen machen will kann das echt lang dauern. Dafür kann man mit XYZ.BeginUpdate und EndUpdate einen block definieren in dem nicht neugezeichnet werden soll.
z.B:
Code:
ListBox1.BeginUpdate()
Try
ListBox1.Items.Clear()
For i As Integer = 1 To 100000
ListBox1.Items.Add(i.ToString)
Next
Finally
ListBox1.EndUpdate()
End Try
Probier den Code mal mit und mal ohne Begin/EndUpdate aus
|
|
|
05/05/2018, 20:59
|
#10
|
elite*gold: 0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
|
Quote:
Originally Posted by warfley
Eine Sache die Anfänger oftmals vergessen ist das locken von GUI controls beim updaten. Z.B. Listboxen updaten bei jeder Änderung. Wenn man jetzt viele änderungen machen will kann das echt lang dauern. Dafür kann man mit XYZ.BeginUpdate und EndUpdate einen block definieren in dem nicht neugezeichnet werden soll.
z.B:
Code:
ListBox1.BeginUpdate()
Try
ListBox1.Items.Clear()
For i As Integer = 1 To 100000
ListBox1.Items.Add(i.ToString)
Next
Finally
ListBox1.EndUpdate()
End Try
Probier den Code mal mit und mal ohne Begin/EndUpdate aus
|
Das vergessen auch gerne Chefs mal, die sich vor ca. 3 Jahren aus der aktiven Entwicklung zurückgezogen haben, das kann ich dir sagen
|
|
|
 |
Similar Threads
|
FRAGE FRAGE FRAGE FRAGE FRAGE FRAGE FRAGE
03/21/2011 - Technical Support - 5 Replies
Hi Leute,
Habe ein Problem mit meinen PC.
Habe Win 7 drauf will ihn formatieren also komlett reseten auf werkseinstellungen. Eine Recovery CD ist net dabei ( ist ein Notebook falls es wichtig ist xD ). Habe es mit dem format c probiert dann klick ich das an öffnet sich nur ein schwarzes kleines fenster das sich sofort wieder schließt. Wahrscheinlich falsche ruprik für solche probleme verschiebt mich einfach xDD.
Danke im Vorraus ;)
MFG
|
[Performance-Camtasia Studio]Wie verbessere ich die Performance?
11/13/2009 - Video Art - 4 Replies
Hallo liebe Community und Mitglieder.
Wenn ich mit dem Aufnahmeprogramm „Camtasia Studio" ein Fenster aufnehme, z.B. das Client Fenster von Metin2, verschlechtert sich die Performance beim späteren angucken des Resultates.
D.h. es bleibt bei mehreren Hängern und es ist kein flüssiger Film.
Was habe ich versucht?
#Die Frames pro Sekunde zu erhöhen(bis 200 Frames pro Sekunde, aber dann gibt es auch schon bei der Aufnahme Hänger, bzw. beim produzieren)
#Das Video in der Bearbeitung zu...
|
Hallo Comunity
02/21/2008 - Say Hello - 1 Replies
Wollt mal schnell meinen ersten Post loswerden und nett Hallo sagen :)
|
All times are GMT +1. The time now is 15:15.
|
|