/[gzz]/gzz/Documentation/FAQ
ViewVC logotype

Diff of /gzz/Documentation/FAQ

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by ajk, Fri Feb 9 05:59:36 2001 UTC revision 1.8 by tjl, Fri Jan 24 23:24:37 2003 UTC
# Line 1  Line 1 
1  Frequently Asked Questions about GZigZag, with answers.  Frequently Asked Questions about Gzz, with answers.
2  $Id$  $Id$
3    
4  All trademarks are the trademarks of their respective owners.  All trademarks are the trademarks of their respective owners.
# Line 12  Section I: General questions Line 12  Section I: General questions
12  1. Where to get the latest version of this FAQ?  1. Where to get the latest version of this FAQ?
13    
14  The source code for all versions of this FAQ is kept as a part of the  The source code for all versions of this FAQ is kept as a part of the
15  GZigZag CVS repository. See the GZigZag sourceforge page at  Gzz CVS repository. See the Gzz sourceforge page at
16                    
17          http://gzigzag.sourceforge.net          http://Gzz.info
18    
19  for accessing the source. The FAQ is in the directory Documentation/  for accessing the source. The FAQ is in the directory Documentation/
20    
21  -----  -----
22  2. What is ZigZag?  2. What is ZigZag(tm)?
23    
24  ZigZag, an invention of Ted Nelson, is a new type of data structure.  ZigZag(tm), an invention of Ted Nelson, is a new type of data structure.
25    
26  For mathematicians, the key words would be  For mathematicians, the key words would be
27    
# Line 62  Computer scientists might note that ZigZ Line 62  Computer scientists might note that ZigZ
62  case of graphs.  case of graphs.
63    
64  -----  -----
65  3. What is GZigZag?  3. What is Gzz?
66    
67  GZigZag is an implementation of ZigZag developed by a research group led  Gzz is an implementation of ZigZag developed by a research group led
68  by Tuomas Lukka at the university of Jyvaskyla.  by Tuomas Lukka at the university of Jyvaskyla.
69    
70  It is licensed under the LGPL (and XPL, the Xanadu Public License which  It is licensed under the LGPL (and XPL, the Xanadu Public License which
71  is still under works).  is still under works).
72    
73  -----  -----
74  4. Who is the maintainer of GZigZag?  4. Who is the maintainer of Gzz?
75    
76  Tuomas Lukka, <lukka@iki.fi>. He has written most of the code in GZigZag (and  Tuomas Lukka, <lukka@iki.fi>. He has written most of the code in Gzz (and
77  most of it while traveling on trains).  most of it while traveling on trains).
78    
79  This maintainership is by proxy from Ted Nelson, who has the official  This maintainership is by proxy from Ted Nelson, who has the official
80  maintainership but who does not program.  maintainership but who does not program.
81    
82  -----  -----
83  5. How complete/stable is GZigZag?  5. How complete/stable is Gzz?
84    
85  It's pre-alpha. It is already usable for many things but it is nowhere  It's pre-alpha. It is already usable for many things but it is nowhere
86  near feature complete yet.  near feature complete yet.
# Line 93  As for stability, crashes are quite rare Line 93  As for stability, crashes are quite rare
93  See Java/TODO in the distribution.  See Java/TODO in the distribution.
94    
95  -----  -----
96  7. Are there any mailing lists associated with ZigZag/GZigZag?  7. Are there any mailing lists associated with ZigZag/Gzz?
97    
98  See http://www.xanadu.com/zigzag  See http://www.xanadu.com/zigzag and http://gzz.info
99    
100  -----  -----
101  8. How can I help?  8. How can I help?
# Line 104  Email Tuomas Lukka <lukka@iki.fi> and as Line 104  Email Tuomas Lukka <lukka@iki.fi> and as
104    
105    
106  =============================================================  =============================================================
107  Section II: Using (G)ZigZag  Section II: Using Gzz
108    
109  1. How can I learn to create my own structures so that they work well?  1. How can I learn to create my own structures so that they work well?
110    
# Line 120  Section III: Questions specific to the J Line 120  Section III: Questions specific to the J
120    
121  1. Why Java?  1. Why Java?
122    
123  Portability, garbage collection, SPEED (with JIT: for linux, IBM's  Portability, garbage collection, SPEED (with JIT: for linux, Sun's
124  JDK-1.1.8 is GREAT), portable graphics, easy C interface, available APIs  JDK-1.4.1_01 is GREAT), portable graphics, easy C interface, available APIs
125  (e.g. JMF), etc.  (e.g. JMF), etc.
126    
127  You will note that I did not mention the language itself above:  You will note that I did not mention the language itself above:
128  I don't like the language itself that much: I'd prefer to work in  I don't like the language itself that much: I'd prefer to work in
129  Perl. Unfortunately it does not provide all of these other features and  Python. Unfortunately it does not provide all of these other features and
130  the ones it does it does not provide as easily and conveniently as Java.  the ones it does it does not provide as easily and conveniently as Java.
131    
132  -----  We *are* using Jython for a number of the less speed-intensive tasks, though.
 1.1 Where do I get Java sources for GZigZag?  
133    
134  If you know CVS, you can checkout module GZigZag in  -----
135  :pserver:anonymous@cvs.gzigzag.sourceforge.net:/cvsroot/gzigzag .  1.1 Where do I get Java sources for Gzz?
 Otherwise, you can use our nightly-generated source snapshots  
 available at ftp://gzigzag.sourceforge.net/pub/gzigzag/snapshots/ .  
 They are packaged in GNU-Zipped tar archives and in ZIP archives,  
 choose whichever is best for you.  
136    
137  The Java sources are located in the Java/ subdirectory of the full  See the CVS instructions at http://gzz.info, or download
138  source tree.  a tarball from there.
139    
140  -----  -----
141  1.2 Where do I get precompiled class files for GZigZag?  1.2 Where do I get precompiled class files for Gzz?
142    
143  We have a build daemon that builds the current CVS version nighly and  We have a build daemon that builds the current CVS version nighly and
144  puts two JAR archives of it in  puts two JAR archives of it in
# Line 154  version is much larger and contains some Line 149  version is much larger and contains some
149  -----  -----
150  1.5. It's WAY too slow! Are you out of your mind?  1.5. It's WAY too slow! Are you out of your mind?
151    
152  No. For me, it's quite comfortable on my 233MHz Pentium 80Mb laptop.  No. For me, it's quite comfortable on my 1.2GHz Pentium 256MB laptop.
153  There are several possible reasons for this:  There are several possible reasons for this:
154    
155  * You are using a Java interpreter without a JIT (Just-In-Time)  * You are using a Java interpreter without a JIT (Just-In-Time)
156    compiler. As mentioned in the answer to the previous question, for    compiler. As mentioned in the answer to the previous question, for
157    Linux, I recommend IBM's JDK 1.1.8. Do NOT ask me about proprietary    Linux, I recommend Sun's JDK 1.4. Do NOT ask me about proprietary
158    operating systems - GZigZag works there but over there you're on    operating systems - Gzz works there but over there you're on
159    your own for platform-specific questions.  Another quite fast JVM is    your own for platform-specific questions.  Another quite fast JVM is
160    Kaffe, but unfortunately at least some versions of Kaffe have a    Kaffe, but unfortunately at least some versions of Kaffe have a
161    nasty bug that makes using GigZag on it quite unpleasant.    nasty bug that makes using Gzz on it quite unpleasant.
162    
163  * Your Java interpreter is not using enough memory. By default, some Java  * Your Java interpreter is not using enough memory. By default, some Java
164    interpreters only use 16Megs at maximum. Try starting with    interpreters only use 16Megs at maximum. Try starting with
# Line 177  There are several possible reasons for t Line 172  There are several possible reasons for t
172  -----  -----
173  1.5.1. I can't use IBM's JDK: it doesn't have the Swing classes  1.5.1. I can't use IBM's JDK: it doesn't have the Swing classes
174    
175  You are using an old version of GZigZag.  Current CVS versions and  You are using an old version of Gzz.  Current CVS versions and
176  snapshots do not require Swing.  snapshots do not require Swing.
177    
178  -----  -----
179  1.9. I want to report a bug; how do I do that?  1.9. I want to report a bug; how do I do that?
180    
181  There are instructions about this in http://www.gzigzag.org/bugs.html .  There are instructions about this in http://gzz.info/bugs.html .
182    
183  -----  -----
184  2. How is the Java code structured?  2. How is the Java code structured?
185    
186  ZZCell and ZZSpace are the center of it all. Start from there and  See the architectural documentation in doc/, also generated
187  also ZZDimension, ZZDimSpace, ZZLocalDimension, ZZPersistentDimension,  at himalia.
 ZZPersistentDimSpace ...  
 These latter ones are still a bit new and finding their places.  
   
 -----  
 3. Why is the ZZEventQueue not called / what is ZZObs / ... ?  
   
 Legacy. It's currently supplanted by the ZZUpdateManager for view updates  
 but may be revived later.  
   
 -----  
 4. What is the saved file format?  
   
 See the Java/storage/ and Java/media subdirectories of the source  
 tree, especially storage/Recs.java, storage/ZZPersistentDimSpace.java  
 and media/StringScroll.java.  
   
 -----  
 5. Will my files be upwards compatible?  
   
 No: the format will change soon. However, you can dump the space into XML  
 (will be explained later) and restore it to the new file type.  
188    
189  -----  -----
190  6. Are there any coding standards?  6. Are there any coding standards?
# Line 222  See the file CODING in CVS. Line 196  See the file CODING in CVS.
196    
197  Yes, we do, but it helps if you consult with us first to make sure your  Yes, we do, but it helps if you consult with us first to make sure your
198  intended change is in a reasonable direction. Much functionality should go  intended change is in a reasonable direction. Much functionality should go
199  into the Modules/ as well.  into gzz.modules as well, instead of the main gzz packages..
200    
201  diff -u (unified diff) is preferred.  diff -u (unified diff) is preferred.
202    
# Line 231  diff -u (unified diff) is preferred. Line 205  diff -u (unified diff) is preferred.
205  8. What are the advantages of the new Java version over the old Perl version?  8. What are the advantages of the new Java version over the old Perl version?
206    
207  - Graphics. You just need to see the vanishing view to see why it's important.  - Graphics. You just need to see the vanishing view to see why it's important.
208  And that's just the beginning.  And that's just the beginning. The newer OpenGL views will blow your mind.
209    
210  - Active development.  - Active development.
211    
 -----  
 9. What are the disadvantages of the new Java version over the old Perl version?  
212    
213  - Ted's own keystrokes do not yet work (to be fixed soon)  -----
214    9. Wasn't there a Perl version or something?
   
   
 =============================================================  
 Section III: Questions specific to the Perl version  
   
 1. Wasn't there a Perl version or something?  
215    
216  Yes, written by Andrew Pam and others.  Yes, written by Andrew Pam and others.
217    
218  -----  -----
219  2. Are the files from the Perl version compatible with the new Java version?  10. Are the files from the Perl version compatible with the new Java version?
220    
221  No.  No.
222    
223  -----  -----
224  3. Is it possible to import files from the Perl version to the new Java version?  11. Is it possible to import files from the Perl version to the new Java version?
225    
226  Not yet, but soon. Only needs a short Perl script to read the DB_File from  Not yet, but hopefully soon. Only needs a short Perl script to read the DB_File from
227  the Perl version and write the corresponding XML code and then you can import  the Perl version and write the corresponding XML code and then you can import
228  it.  it.
229    
230    
231    =============================================================
232    Section IV: Questions specific to using OpenGL with the Java version
233    
234    -----
235    1. What video card should I get?
236    
237    Currently, the recommended cards (on Linux) are as follows
238    (note, this is just personal opinions; not all the cards below have been
239    tested and, as usual, we guarantee *nothing*)
240    
241    ATI:
242        - R300: Radeon 9500, 9500PRO, 9700, 9700PRO: RECOMMENDED
243          ATI turned the tables in fall 2002 by releasing a texture
244          shading linux driver.
245    
246          These boards excellent with the fragment program
247          support. Gzz still has some problems but these will
248          likely be resolved soon since active work is being done
249          in the area.
250          
251          Also, the drivers still slightly unstable but we're working around that.
252    
253        - R100, R200: Radeon 7500, 8500, 9000, 9100: AVOID
254    
255            - ATI did not have proper Linux drivers with texture shading support out
256              during the reign of these cards. Therefore, we did not buy
257              any and have not developed support for the ATI_fragment_shader
258              extension, and you will get very suboptimal results with these.
259    
260              If you are into programming and own one of these cards, it should
261              not be too difficult to rectify the situation; contact us
262              for help.
263    
264        - R350, RV350, R400: UNKNOWN, LIKELY GOOD
265    
266    NVIDIA:
267        - NV20: GeForce4 Ti, GeForce3, GeForce3 Ti, GeForce4 Go 4200: GOOD
268    
269            - NVIDIA drivers are good and we put their register combiners extensions to active
270              use in Gzz. Libpaper uses texture shading on NV20, and we are working
271              on vertex programs.
272    
273        - NV10: GeForce2 Ti, GeForce2 MX, GeForce4 MX, GeForce4 Go 460: PASSABLE
274          
275          is STRONGLY preferred to GeForce4 MX (the MX is just a GF2 in disguise)
276    
277        - NV30: GeForce FX: UNKNOWN, LIKELY GOOD
278    
279            - At the time of writing, this card is not yet out. If it delivers its promises,
280              it will likely become the card of choice here.
281    
282    Brand X:
283        - support for OpenGL 1.1 is required, possibly more. 1.4 recommended.
284          The support for early OpenGL versions doesn't, for obvious reasons, get tested too much.
285    
286        - support for the ARB_vertex_program extension is now mandatory,
287          since it can be emulated in the driver and free code is available in mesa.
288    
289        - support for the ARB_fragment_program extension makes the quality of
290          the graphics MUCH better, but is not absolutely required..
291        
292    ---
293    2. I'm a video card / input device / ... manufacturer. How can I get my hardware better supported?
294    
295    Well, as usual, no guarantees, but if you donate us cool hardware with functional linux
296    drivers, it is quite likely that things will happen.
297    
298    N.B. this is more likely to work for high-end than low-end hardware: if ATI were
299    to give us 10 Radeon 7500s right now, they might just sit on a shelf as spares.
300    However, if they were to give us 1 R350 (Radeon 9900?), it would probably be fully
301    supported in days.
302    
303    ---
304    3. Why are fragment programs (texture shading) so important for Gzz?
305    
306    They allow detailed control of the output, pixel by pixel, at amazing speeds.
307    For instance, rendering unique backgrounds using libpaper stops being about
308    trying to coax the hardware to do something it doesn't want and starts being
309    about really sampling the distribution.
310    
311    Also, there are lots of tricks we can use to improve text quality using
312    fragment programs.
313    
314    Quite simply, this is where a lot of our visual experimentation will be happening
315    in the near future. Be there or be square ;)
316    
317    

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26