Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - Reg

Strony: 1 2 [3] 4 5 6 7 ... 270
31
Visual Studio / Odp: Brak źródła problem w visual studio
« dnia: Październik 31, 2016, 00:12:55 »
Jeżeli taki sam błąd występuje w każdym programie C++ skompilowanym tym kompilatorem,  nawet w prostym Hello World, to chyba jednak nie jest błąd w kodzie. Może się jakieś biblioteki popsuły. Jest to możliwe szczególnie, że - jak rozumiem - masz dwie wersje Visuala zainstalowane jednocześnie.

Możnaby się wgryzać w szczegóły tego, które IDE używa którego kompilatora i których bibliotek, ale nie wiem, jak to zrobić dokładnie, więc ja na Twoim miejscu odinstalowałbym wszystkie Visuale, Windows SDK itp. i zainstalował od nowa, jedną wersję. Myślę, że to powinno pomóc.

32
C++ / Odp: Tajemnicze zachowanie new
« dnia: Wrzesień 28, 2016, 12:52:53 »
W nowoczesnych systemach operacyjnych pamięć jest wirtualna. Przestrzeń adresowa, czyli wartości wskaźników też są wirtualne. Dopiero gdzieś na niższym poziomie one się mapują na strony pamięci RAM (albo pliku wymiany), które zawierają konkretne dane. Tak więc obstawiałbym taką możliwość, że dostając nawet przypadkiem drugi raz ten sam adres wcale nie musisz trafiać do tych samych stron pamięci. Może nawet dana strona w ogóle nie jest rezerwowana, dopóki po raz pierwszy jej nie użyjesz. Nie wiem dokładnie.

Natomiast w ogólności nie należy polegać na takim czy innym zaobserwowanym zachowaniu ani używać niezainicjalizowanej pamięci, tylko zawsze pamiętać, żeby samemu wypełnić ją czymś sensownym przed jej odczytywaniem.

33
Jak "nic się nie chce", to warto przestać pić browary i palić zioło :) - wszystko, co zamula. Do programowania najlepszą używką jest jednak kawa :) Albo to faktycznie może być depresja.

Od materiałów z tematyki coachingu i rozwoju osobistego osobiście radziłbym trzymać się z daleka. Zamiast tego lepiej się przemóc i robić coś konkretnego, co masz do zrobienia. Zawsze najtrudniej jest zacząć, potem już jakoś idzie.

Może zamiast C++ zacznij się uczyć Unity? Siedzenie w czarnej konsoli tekstowej i walczenie z błędami operacji na wskaźnikach faktycznie może być demotywujące, a jak weźmiesz taki gotowy silnik i poczytasz albo pooglądasz jakieś tutoriale, to szybciej uzyskasz widoczny efekt swojego programowania - coś już będzie cieszyło i to może Cię zmotywować do dalszej nauki.

34
Projektowanie kodu / Odp: Projektowanie kodu - robicie? Jak?
« dnia: Wrzesień 01, 2016, 23:36:50 »
Czytam Wasze wypowiedzi i tak mi teraz przyszło do głowy, że być może to zaawansowani programiści mają już we krwi projektowanie i pisanie dobrego kodu na bieżąco, ale początkujący - którzy dopiero się tego uczą - mogą skorzystać na próbie całościowego zaprojektowania swojego programu przed przystąpieniem do jego pisania. Podobnie może być ze stosowaniem wzorców projektowych czy całej idei programowania obiektowego.

Duckshorse: Odnośnie pisania wszystkiego od nowa zamiast robienia stopniowych poprawek w istniejącym kodzie, kiedy mówimy o dużej skali, to eksperci tacy jak Joel Spolsky często mówią, że pisanie od nowa jest bardzo złym pomysłem. http://www.joelonsoftware.com/articles/fog0000000069.html

35
Projektowanie kodu / Odp: Projektowanie kodu - robicie? Jak?
« dnia: Sierpień 31, 2016, 14:34:09 »
Ja bym nie próbował projektować na siłę, "bo tak jest lepiej". Projektuję swoje rozwiązanie wtedy, kiedy widzę taką potrzebę - bo jest tak skomplikowane, że już "nie mieści się w głowie". Natomiast nieraz zauważyłem, że łatwiej przychodzi mi po prostu zacząć kodować i kod jakoś sam układa się sensownie, a ewentualny projekt robię potem, jako jego dokumentację.

Jak projektować? Moim zdaniem jak najprościej. Jeżeli wystarczą Ci jakieś listy z punktami i podpunktami, to polecam plik tekstowy, dowolny edytor tekstu albo aplikację do notatek (jak mój ulubiony Microsoft OneNote). Jeżeli chcesz rysować diagram klas albo inne diagramy UML, to polecam kartkę i długopis, bo daje największą swobodę, elastyczność formatowania i łatwość użycia w porównaniu ze specjalizowanymi programami do rysowania takich diagramów.

36
Tworzenie silników / Odp: BVH - optymalizacja kolizji
« dnia: Sierpień 31, 2016, 14:29:48 »
Wyświetlacz FPS to jedno. Chociaż FPS to nie jest dobra miara wydajności, bo jest nieliniowy - to odwrotność średniego czasu klatki. Nie można mówić "przyspieszyłem o 10 FPS", bo to zupełnie inna skala, jeśli tych FPS było 10, 100 albo 1000. Lepiej mierzyć czas klatki w milisekundach.

Ale drugie to patrzeć na ten wyświetlacz. Niejeden mógłby napisać superskomplikowaną optymalizację i ogłosić "mam algorytm podziału przestrzeni, mój silnik jest zoptymalizowany" nie sprawdzając, czy rozwiązanie brute force nie jest czasem szybsze (a nieraz zdarza się, że jest).

37
Produkcja / Odp: Projekt open source a mikropłatności
« dnia: Sierpień 30, 2016, 22:29:25 »
Teoretycznie, jeżeli ostateczna decyzja na temat zakupionych bonusów i wszystkiego, co posiada gracz, zapisuje się na serwerze, to użytkownik nie powinien mieć możliwości oszukiwania nawet, jeżeli zhakuje klienta gry.

Jednak myślę, że w praktyce udostępnienie kodu źródłowego - czy to klienta czy serwera - może znacznie ułatwić oszukiwanie. Na przykład ktoś może łatwiej (niż gdyby musiał rozgryzać binarkę i protokół komunikacji) napisać bota, który wygrinduje to, co jest do zdobycia przez mozolną grę albo szybciej przez mikropłatność. Tak więc ja bym raczej nie udostępniał kodu źródłowego gry, jeżeli ma być w jakikolwiek sposób płatna.

38
Tworzenie silników / Odp: BVH - optymalizacja kolizji
« dnia: Sierpień 30, 2016, 22:24:35 »
Dobrze, że mierzysz wydajność swojego rozwiązania i porównujesz, które jest szybsze. Żeby to zoptymalizować, możesz spróbować:

- Przejrzeć algorytm budowania tego drzewa, czy aby na pewno jest odpowiednio wydajny.
- Spróbować aktualizować jednak tylko dynamiczne obiekty - może uda się to zrealizować tak, że będzie działało szybciej.
- Podzielić obiekty na statyczne i dynamiczne. Trzymać je w oddzielnych strukturach. Tylko te dynamiczne odbudowywać co klatkę.
- Nie trzymać każdego obiektu w oddzielnym węźle drzewa, tylko dzielić obiekty na hierarchię jedynie do jakiegoś poziomu, kiedy w jednym węźle jest maksymalnie np. 10 czy 100 obiektów - granicę dobrać eksperymentalnie.

39
Językoznawstwo / Odp: Darmowe Delphi 10.1 Berlin Starter Edition
« dnia: Sierpień 23, 2016, 17:59:25 »
Ciekawe :) Jako dzieciak programowałem w Pascalu pod DOS, potem po przejściu na Windows naturalne było zainteresowanie się Delphi. Dopiero potem nauczyłem się C++.

Zawsze myślałem, że Delphi przeznaczone jest głównie do pisania aplikacji biznesowych-bazodanowych, a teraz w tej dziedzinie dominuje chyba C#, ewentualnie C++ z Qt albo Java? Do czego Delphi używane jest obecnie?

40
Moim zdaniem taka optymalizacja może mieć sens. Już pomijając pytanie, co się dzieje dokładnie w sterowniku graficznym i czy sterownik sam śledzi, jaki ostatni VB i IB był ustawiony i ewentualne nadmiarowe wywołania jego ustawienia zignoruje, to samo wywołanie metody z interfejsu Direct3D (który jest przecież w technologii COM, a więc interfejsy, funkcje wirtualne i te sprawy...) też ileśtam czasu kosztuje (chociaż niedużo), więc jeżeli można go łatwo uniknąć, to czemu nie.

41
C++ / Odp: Przekazywanie zmiennej globalnej do funkcji
« dnia: Sierpień 15, 2016, 23:38:38 »
OK, masz rację, ale nie zawsze wszystko musi być w kodzie idealne. Czas nie powinien być dostępną wszędzie zmienną globalną, tak samo jak czas bezwzględny od startu gry nie powinien być typu float, bo po kilku godzinach traci precyzję, a Unity robi jedno i drugie i jakoś z powodzeniem na tym silniku powstaje cała masa (większość?) gier :)

42
C++ / Odp: Przekazywanie zmiennej globalnej do funkcji
« dnia: Sierpień 12, 2016, 01:03:14 »
Ja w swoim obecnym kodzie mam te zmienne dotyczące aktualnego czasu - CurrTime, DeltaTime itp. - zamknięte w strukturę i tę strukturę przekazuję z funkcji do funkcji. Wcześniej miałem ją dostępną globalnie jako g_App->GetTime(), ale stwierdziłem, że tak jest bardziej elegancko, z następującego powodu:

Kiedy struktura jest dostępna globalnie, to jest dostępna zawsze, a w moim programie nie zawsze jest poprawna. Pobieranie bieżącego czasu ma sens w funkcji Update, Draw/Render, OnKeyDown, OnMouseClick i innych takich, ale już nie np. podczas inicjalizacji czy zamykania programu, kiedy symulacja świata gry jeszcze/już nie jest uruchomiona.

Poza tym, tak jak napisaliście wyżej, dzięki przekazywaniu tych danych można je po drodze modyfikować. U mnie akurat one nie są modyfikowane w taki dosłowny sposób przed przekazaniem do obiektu potomnego, ale mogę mieć na raz w pamięci kilka równocześnie symulowanych scen i każda scena dostaje czas od chwili wystartowania danej sceny, a nie całej aplikacji (co jest z kolei fajne z dwóch powodów: 1. mamy dostęp do czasu od uruchomienia sceny, 2. dla mniejszych wartości tracimy mniej precyzji).

Ale udostępnienie tych danych jako zmienne globalne moim zdaniem też jest OK...

43
OpenGL / Odp: Zaokrąglenie na łączeniu płaszczyzn
« dnia: Czerwiec 28, 2016, 17:09:29 »
Trzeba po prostu wyrenderować więcej prostokątów. Pierwszy poziomy, ostatni pionowy, a te pośrednie, takie wąskie, będą ustawione pod coraz większym kątem przybliżając w jakiś sposób to zaokrąglenie między nimi. Powierzchnie zakrzywione w grafice reprezentuje się jako wystarczająco gęstą siatkę płaskich, małych/wąskich, stykających się trójkątów czy prostokątów.

Tu znalazłem na Google jakiś obrazek, który pomaga to zilustrować (to ten po lewej): http://media.wiley.com/Lux/82/243182.image0.jpg

44
Dźwięk / Odp: Synchronizacja efektow z muzyka
« dnia: Czerwiec 20, 2016, 12:48:38 »
Zmienna zwiększa się płynnie, nie w pewnym momencie o całe 1.0. To jest tylko kwestia skalowania - mnożenia przez inną stałą, żeby była wyrażona w innych jednostkach. Tak jak systemowy GetTickCount() zwraca w milisekundach, a QueryPerformanceCounter() w jakiś "cyklach" i mnożąc przez ileśtam można to przeliczyć na sekundy, tak samo można przeliczyć na beaty muzyki mnożąc przez odpowiednią, inną wartość. Mam tu na myśli mnożenie czasu, jaki upłynął od poprzedniej klatki.

45
Windows / Odp: Kompatybilność programu z win7 na win 8.1
« dnia: Maj 16, 2016, 16:40:37 »
Ja nie piszę żadnych manifestów do aplikacji Windows i jakoś wszystko zawsze działa, zarówno na Windows 7, 8, 8.1 jak i 10. Więc potwierdzam, że nie są niezbędne do uruchamiania plików EXE. Co najwyżej można poczytać, w jakich przypadkach trzeba ich używać albo co dodatkowo można za ich pomocą uzyskać.

Strony: 1 2 [3] 4 5 6 7 ... 270