Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

idontknow

unregistriert

11

07.07.2013, 10:41

Dann benutzt du aber ziemlich viele Zufallszahlen oder? Abhilfe schafft, wenn du den Seed alle X Abfragen neu setzt.

  • »Caesiumhydroxid« ist der Autor dieses Themas

Beiträge: 26

Wohnort: Dort wo mein PC steht

  • Private Nachricht senden

12

07.07.2013, 10:54

Ja da werden einige Zufallzahlen benötigt :D , allerdings hat sich das Problem gelöst(C++ 11 Generatoren) -> siehe Vorherigen Post

Mfg
Wer Rechtschreibfehler findet, darf sie behalten ;)

Evrey

Treue Seele

Beiträge: 245

Beruf: Weltherrscher

  • Private Nachricht senden

13

07.07.2013, 15:29

Wenn dein System sowas verbaut hat - wovon ich mal ausgehe - könntest du den Hardware-Zufallsgenerator nutzen (C++11 konnte den auch anquatschen, wenn ich mich recht entsinne). Das dürfte dann jedes Mal ein völlig anderes Bild liefern. So als Extra-Spaß. Denn auch die Pseudo-Algorithmen in der C++11-Lib werden bei hinreichend großem Zeitraum ein sich wiederholendes Muster liefern.

C-/C++-Quelltext

1
2
3
4
int main(int _argc, char** _argv) noexcept {
  asm volatile("lock cmpxchg8b %eax");
  return 0;
} // ::main
(Dieses kleine Biest vermochte einst x86-Prozessoren lahm zu legen.)

=> Und er blogt unter Hackish.Codes D:

idontknow

unregistriert

14

07.07.2013, 18:16

Die kann man aber auch neu seeden und ich frage mich inwiefern das einen Nachteil gegenüber irgendeinem Hardware Krams haben soll.

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

15

08.07.2013, 23:36

Die kann man aber auch neu seeden und ich frage mich inwiefern das einen Nachteil gegenüber irgendeinem Hardware Krams haben soll.

Es gibt keine Moeglichkeit zufaellige Seeds zu erzeugen, daher wird so auch nichts zufaelliger.

idontknow

unregistriert

16

08.07.2013, 23:40

Jou, aber man kann z.b. mit dem Tick-Count seeden, das sollte dann imo ausreichend sein.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

09.07.2013, 00:49

std::random_device sollte eigentlich schon ganz gut als Seed zu gebrauchen sein; liefert zumindest unter MSVC kryptographisch sichere Zufallszahlen, also wesentlich besser als einfach nur ein Tick-Count o.ä... ;)

Über die Compiler Intrinsics _rdrand16_step(), _rdrand32_step() bzw. _rdrand64_step() kannst du auch direkt den Hardware RNG deiner CPU ansprechen (falls du eine Intel Ivy Bridge CPU oder besser hast), der Zufallszahlen basierend auf thermischem Rauschen liefert.

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »dot« (09.07.2013, 01:15)


TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

18

09.07.2013, 09:50

Jou, aber man kann z.b. mit dem Tick-Count seeden, das sollte dann imo ausreichend sein.
Dann macht es aber keinen Sinn nochmal zu seeden, weil der zweite Tick Count vom ersten abhaengt.

@dot: Kann aber auch sein, das du auf manchen Maschinen einfach ne Exception bekommst.

Werbeanzeige