Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 21:27

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Comunity version Allgemein Performance Frage :)

Discussion on Comunity version Allgemein Performance Frage :) within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2013
Posts: 131
Received Thanks: 11
Question 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)
ProDielerNR(1) is offline  
Old 04/27/2018, 08:22   #2



 
Serraniel's Avatar
 
elite*gold: 0
The Black Market: 205/1/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.



Serraniel is offline  
Thanks
1 User
Old 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 ^^
ProDielerNR(1) is offline  
Old 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
ProDielerNR(1) is offline  
Old 04/30/2018, 11:39   #5
 
Ludder231's Avatar
 
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.
Ludder231 is offline  
Old 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
qqdev is offline  
Old 05/04/2018, 23:20   #7
 
mrapc's Avatar
 
elite*gold: 238
Join Date: Sep 2009
Posts: 2,327
Received Thanks: 1,164
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.
mrapc is offline  
Thanks
1 User
Old 05/05/2018, 01:39   #8
Moderator


 
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
Quote:
Originally Posted by mrapc View Post
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.
ComputerBaer is offline  
Old 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
warfley is offline  
Thanks
1 User
Old 05/05/2018, 20:59   #10



 
Serraniel's Avatar
 
elite*gold: 0
The Black Market: 205/1/0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
Quote:
Originally Posted by warfley View Post
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
Serraniel is offline  
Reply


Similar Threads 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 21:27.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.