przez GrassHoppeR » piątek, 14 stycznia 2011, 18:28
ale zrozum, że mój program się od twojego nie różni żadnym sztucznym odświeżaniem. tak samo korzystam z Draw tylko nie w onPaint a w onTimer (w onPaint mam tylko zapalenie kontrolki need_upd), czyli wykonuję je nie częściej niż co 20 ms i tylko wtedy, kiedy trzeba (zarówno przy onPaint jak i onMouseMove). twój program nie działa u mnie wydajniej (dochodzi do 6%), a przede wszystkim nie tworzy tła rysując inne klocki tak, jak mój, więc nie działa lepiej, działa inaczej. no, może goła baba sprawia, że pracowałoby się przyjemniej, ale na twoim nie można.
ja też mam plik wymiany wyłączony, faktycznie mam dwa rdzenie, ale co to niby ma zmieniać?
może to z twoim system jest coś nie tak, bo w tym programie nie ma co obciążać procesora (z resztą od początku to pisałem). to ty mi zasugerowałeś użycie GDI+ jako korzystające z przyspieszenia sprzętowego i pisałeś, że wypełnianie ekranu jest u ciebie błyskawiczne.
a ten program właśnie nic innego nie robi jak tylko zmienia przy użyciu GDI+ bitmapę w bardzo małym stopniu (maksymalnie szerokość ekranu*30 punktów), i robi to nie częściej niż co 20 ms, więc o jakiej mojej "słabej" optymalizacji mówisz? jedyna rzecz to odrysowywanie tylko fragmentu bitmapy zamiast jak poprzednio za każdym razem całości, a i wtedy miałem zużycie procesora na niewiele wyższym poziomie niż teraz. sprawdzę jeszcze jak będzie działać na zintegrowanej X4500, ale nie wydaje mi się, żeby to o to chodziło. ty masz jaką?
inna sprawa to co to jest wydajność, skoro nie zużycie procesora? jakie są te optymalizacje, które zrobiłeś z myślą o wydajnej pracy?
to, co jest do zoptymalizowania u mnie to operacje na vectorze obiektów, ale to temat na inny wątek.