HideEntity-Das ist mir aufgefallen ^^
Übersicht

![]() |
TankbusterBetreff: HideEntity-Das ist mir aufgefallen ^^ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigentlich sinnlos, aber ich will mein Wissen ja mit euch teilen >,<
Ich habe mich heut mal en bissl mit Speedoptimierung beschäftigt, um wieder ein bisschen in Blitz reinzukommen. Dabei ist mir was aufgefallen: Wenn ich 100000 Cubes erstell und dann 99999 davon verstecke, sodass nurnoch einer gerendert wird, ruckelt das Spiel trotzdem noch! Dadurch bin ich auf die logische Schlussfolgerung gekommen, dass die anderen 99999 Cubes noch irgendwie an der Leistuung zerren. Nur warum? Es könnte daran liegen, dass die versteckten Würfel trotzdem zur Grafikkarte gesendet werden (aber dort nicht gerendert werden). <---- Bin mir nicht 100%ig sicher Also müsste man eigentlich jedes Entity komplett löschen, um den Speicher zu schonen ^.^ (ist das sinnvoll, wenn man ca. jede minute ein Mesh anzeigen will? Danach könnte man es ja wieder eine Minute löschen, oder merkt man das sowieso nur bei 100000 Objekten, die sowieso niemand jemals in einem Spiel haben wird? ^,^) |
||
Twitter
Download Jewel Snake! Windows|Android |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sinnlose Benchmarks von Leuten die nicht wissen wie ein PC und 3D Engines funktionieren: Episode 1 - Der Grossangriff
das problem ist das du einfach das handling system überlädst. Programmieren besteht darin, dass man ERST den Kopf einschaltet, dann den PC, denn es müsste dir (da du ja nicht erst seit heute mit Blitz arbeitest) einleuchten, dass die interne verwaltung von 100'000 Objekten IMMER ein Problem ist. Das hat da relativ wenig mit der Grafikkarte zu tun, sondern damit dass du der CPU den Rest gibst. ich dachte eigentlich es sei hinlänglich bekannt das 1000 Surfaces das ziel sein sollten, ab 3000 wirst du probleme haben. Das 100'000 ein massives problem sind, sollte da eigentlich selbstredend sein. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zur meiner Entschuldigung:
heute hab ich irgendwo gelesen (HIER im Forum), dass "gehidete" Sachen noch an die Grafikkarte verschickt werden, diese sie aber nicht Rendert. Da wollte ich das ganze mal testen, und schaun obs wirklich langsamer ist. Bei wenigen Objekten kann man das nicht so gut sehen, und da hab ich einfach mal ein bissl übertrieben. Die CPU hab ich net bedacht, sry Also hab ich daraus wenigstens eins gelernt: Man sollte Objekte immer Hiden, denn selbst wenns mal zuviele versteckte Objekte sein sollten, schmiert vorher die CPU ab ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hide hat einige Effekte die durchaus praktisch sind:
- Kein Update der Animation und Kollision mehr (prinzipiell garnix dynamisches mehr) - Wird nimmer an grafikkarte gesandt (im unterschied zu Alpha 0 entities) das es bei wenigen objekten nicht zu sehen ist spricht für deine Grafikkarte, eigentlich hätte bei 5000-10000 würfeln schon ein sichtbarer FPS unterschied da sein müssen. heutige treiber, die sowieso intern alles mit shadern machen sind jedoch in der lage solche dinge zu batchen, weswegen man nicht so schnell "an die wand fährt" ... seh ich persönlich als problem an, denn auf systemen die noch effektiv fixed function pipeline haben machts dann einfach bumm und die performance ist im keller. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group