Difference between revisions of "LLViewerApp"

From Second Life Wiki
Jump to navigation Jump to search
(Replacing page with 'See Viewer App Cleanup')
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Objectives =
See [[Viewer App Cleanup]]
* Improve the stability and maintainability of the Second Life Viewer code by cleaning up the initialization and main loop code
* Move the main loop to a separate thread so that infinite loops can be detected and debugged
= See Also =
* [[Viewer Roadmap]]
* [[User Interface Roadmap]]
 
= Tasks =
== Phase 1 ==
=== LLViewerApp ===
* Create a LLViewerApp class based on LLAppb
* Move class initialization and parameter parsing to LLViewerApp
* Move all error handling to LLViewerApp (errors set a flag and sleep, LLViewerApp generates the exception)
* Move all debug/info/warning/error text printing to LLViewerApp
** Print text to a buffer instead of stdio
** Send the buffer to stdio in LLViewerApp loop
=== LLViewerThread ===
* Create a LLViewerThread class based on LLThread
* Move the main loop into LLViewerThread
=== Eliminate viewer.cpp ===
* Create proper C++ abstractions for any remaining code in viewer.cpp
=== Watchdog ===
* Add a 'watchdog' to LLViewerApp to detect infinite loops and trigger a crash
* Ensure that the crash handler generates proper stack information for LLViewerThread
== Phase 2 ==
=== LLViewerLogin ===
* Abstract the login sequence into a class
=== Eliminate startup.cpp ===
* Create proper C++ abstractions for startup using LLViewerLogin
=== Lightweight Client ===
* Create a client that logs in to Second Life without running the 3D render pipeline

Latest revision as of 11:29, 23 August 2007