Prikaz jedne poruke
Stara 6.11.2006, 23:28   #2
Telepatic
Starosedelac
 
Član od: 26.8.2006.
Lokacija: Beograd
Poruke: 1.874
Zahvalnice: 714
Zahvaljeno 204 puta na 119 poruka
Slanje poruke preko Yahooa korisniku Telepatic
Određen forumom Re: Nokia 6600 POMOC

I ja imam problem sa viewsrv11.Jel zna neko nesto vise o tome,i kako da resim taj problem?Evo sta sam ja nasao ali mi nista nije jasno(ne zbog engleskog )-Question:
I am getting a Viewsrv 11 panic from my application - what tips can you give me to avoid this?
Answer:
Viewsrv 11 panics are a hazard when writing busy applications, for instance games. They occur when the Viewsrv active object in your, or any other, application does not respond to the view server in time. Typically 10-20 seconds is the maximum allowed response time - see FAQ-0900 for a more detailed explanation. Here are some guidelines for avoiding common causes of this problem:
1) Do not have long running synchronous operations. The Viewsrv system requires that the active scheduler in your application is able to run the Viewsrv active object. Long running synchronous operations will prevent this. For instance, games typically have a "main game loop", and one incorrect way to code this is "while (1) { GameStep(); }". However, this loop is synchronous, it does not return control to the scheduler, therefore it prevents the scheduler and Viewsrv's active object from running. Instead the steps should be triggered asynchronously, often achieved using a CIdle or CPeriodic active object as a source of events.

2) Ensure that your active objects don't swamp the scheduler. The active scheduler processes active objects strictly in priority order, and for those of the same priority, active objects added first have priority. Active objects that run often and use a lot of processing time should run at low priority. The Viewsrv active object runs at CActive::EPriorityStandard, so busy active objects should run at a lower priority. One note of warning: if you use EPriorityLow, ensure it is scoped as CActive::EPriorityLow, otherwise you may get thread priority EPriorityLow, which is actually a very high priority value for an active object!


4) Do not use User::WaitForRequest(); or similar blocking operations. They will allow other applications to run, but completely block the active scheduler in your application.

5) On some platforms, be aware that launching waiting dialogs (or performing other blocking actions) from ViewActivatedL(); or ViewDeactivatedL(); can also cause Viewsrv 11 panics. This is a feature of UIQ but not Series 60, for example.
Telepatic je offline   Odgovor sa citatom ove poruke