[ pecos @ 27.07.2006. 20:35 ] @
| U pitanju je online igra koja pod win 2000 radi bez greske. Pod winXP se desava cudna stvar, kao da InvalidateRect "promasi" oblast koju mora da ponovo iscrta.
Ima li neko neku ideju. Nisu u pitanju graficki drajveri (desava se kod asus, ati, nvidia...). Nije ni kompatibilnost sa win32 jer radi pod win 2000.
Svaka ideja je dobrodosla.
|
[ X Files @ 27.07.2006. 20:46 ] @
Kako mislis, promasi oblast (kako se to ispoljava)?
Jesi li probao ima li nekog efekta sa onim EXE Properties / Compatibility Mode podesavanjima?
Mozda da probas UpdateWindow() odmah nakon InvalidateRect() ?
[ pecos @ 27.07.2006. 20:55 ] @
Prikacio sam sliku. Obrati paznju na gornji desni ugao.
Program je uradjen u win api-ju (jos 1995). Od tada je nadodavano jos milion stvari (MFC, COM). Na zalost, ne smem da postavljam kod na net.
To se desava jednom ili dvaput dnevno, nije veliki problem, ali bode oci.
Hvala na interesovanju.
[ X Files @ 27.07.2006. 20:59 ] @
Da, sada videh da si prikacio JPG... Problem je ona karta gore desno, koja je kao odsecena u ćirilično G (G)...
Nisam siguran kako je softver uradjen, ali da nije mozda neki problem sa temama (themes) ili tacnije sa
debljinom TitleBar-a koja mi se cini da nije standardna. XP je uveo puno novih pravila u metrikama prozora,
pa mozda neka matematika u nekom trenutku nema ispravnu informaciju o pocetnoj tacki.
[ stargazer @ 28.07.2006. 17:13 ] @
Možda bi mogao da daš malo više informacija o tome šta se dešava.
[ pecos @ 28.07.2006. 17:37 ] @
Cela igra ide preko servera. U svakom momentu ima preko 7000 igraca. Program u pitanju se kaci na server, gde moze da se izabere igra i (posle logina) otvara drugi prozor u kom je igra vec u toku (nikada se ne prekida). Problem je u klijent programu, i to samo pod WinXP jer InvalidateRect() promasi (retko, ali promasi) region. Sve informacije o poziciji u prozoru dolaze preko skripti, koje ucitavaju info u COM objekat, odakle program dobija sve to. Takodje i sama logika igre od servera stize i salje se preko COM objekata. Sve to u Visual C++ 6.
Inace, program je u upotrebi jos od 1996, i sa malim izmenama radi i dan-danas. Najvaznije izmene idu preko skripti (pozadina, karte i sl).
Nadao sam se da je neko vec imao problem sa WinXP i kompatibilnoscu, tako da ne moram da izmisljam resenja, ali...
U svakom slucaju, hvala na interesovanju.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.