发信人: Gamble_Tan@bbs.ustc.edu.cn (岫云), 信区: cnunix
标  题: SGI inventor FAQ
发信站: 中国科大BBS站 (Sat Jun 20 06:15:00 1998)
转信站: Lilac!ustcnews!ustcbbs



    SGI inventor Frequently Asked Questions (FAQ)

This is one of the Silicon Graphics FAQ series, which consists of:

    SGI admin FAQ - IRIX system administration
    SGI apps FAQ - Applications and miscellaneous programming
    SGI audio FAQ - Audio applications and programming
    SGI diffs FAQ - Changes to the other FAQs since the last posting
    SGI graphics FAQ - Graphics and user environment customization
    SGI hardware FAQ - Hardware
    SGI impressario FAQ - IRIS Impressario
    SGI inventor FAQ - IRIS Inventor
    SGI misc FAQ - Introduction & miscellaneous information
    SGI movie FAQ - Movies
    SGI performer FAQ - IRIS Performer
    SGI pointer FAQ - Pointer to the other FAQs
    SGI security FAQ - IRIX security

Read the misc FAQ for information about the FAQs themselves. Each FAQ is
posted to comp.sys.sgi.misc and to the news.answers and comp.answers
newsgroups (whose purpose is to store FAQs) twice per month. If you
can't find one of the FAQs with your news program, you can get it from

    ftp://viz.tamu.edu/pub/sgi/faq/
    ftp://rtfm.mit.edu/pub/usenet/news.answers/sgi/faq/

(rtfm.mit.edu is home to many other FAQs and informational documents,
and is a good place to look if you can't find an answer here.) The FAQs
are on the World Wide Web at

    http://www-viz.tamu.edu/~sgi-faq/

If you can't use FTP or WWW, send mail to mail-server@rtfm.mit.edu with
the word 'help' on a line by itself in the text, and it will send you a
document describing how to get files from rtfm.mit.edu by mail. Send the
command 'send usenet/news.answers/sgi/faq/misc' to get the SGI misc FAQ,
and similarly for the other FAQs. Send the command 'send
usenet/news.answers/internet-services/access-via-email' to get the
"Accessing the Internet by E-Mail FAQ".

You may distribute the SGI FAQs freely and we encourage you to do so.
However, you must keep them intact, including headers and this notice,
and you must not charge for or profit from them. Contact us for other
arrangements. We can't be responsible for copies of the SGI FAQs at
sites which we do not control, and copies published on paper or CD-ROM
are certain to be out of date. The contents are accurate as far as we
know, but the usual disclaimers apply. Send additions and changes to
sgi-faq@viz.tamu.edu.

Topics covered in this FAQ:
---------------------------
   -1- GENERAL QUESTIONS
   -2- What is Open Inventor?
   -3- What is IRIS Inventor?
   -4- Is Inventor a format for 3D data?
   -5- Can I use Inventor to create 3D objects?
   -6- Is Inventor a user interface toolkit?
   -7- Is there a performance cost using a software layer on top of GL?
   -8- Does Inventor require C++?
   -9- Does Inventor work with the GNU C++ compiler?
  -10- Does Inventor have a Fortran or Ada API?
  -11- Where can I get detailed, technical information on Inventor?
  -12- How can I order Inventor software and/or documentation?
  -13- How can I learn Inventor Programming?
  -14- QUESTIONS ABOUT OPEN INVENTOR
  -15- What version of Open Inventor runs on which version of IRIX?
  -16- What Silicon Graphics platforms support Open Inventor?
  -17- What are the new features in Open Inventor 2.1?
  -18- How hard is it to port from IRIS Inventor to Open Inventor?
  -19- How hard is it to port from Open Inventor 2.0.1 to Open Inventor
       2.1?
  -20- How can I make my Open Inventor application faster?
  -21- When I compile my Inventor program, I get an error in
       SoDebugError.h.
  -22- QUESTIONS ABOUT IRIS INVENTOR
  -23- What version of IRIS Inventor runs on which version of IRIX?
  -24- Will I be automatically upgraded to Open Inventor if I have IRIS
       Inventor?
  -25- Will my IRIS Inventor programs stop working if I install Open
       Inventor?
  -26- Can I develop Open and IRIS Inventor programs on the same system?
  -27- Prerequisite error installing Inventor 1.1.2
  -28- Why do I get errors compiling the Inventor sample programs?

----------------------------------------------------------------------

Subject:    -1- GENERAL QUESTIONS
Date: 06 May 1995 00:00:01 EST

  General questions.

------------------------------

Subject:    -2- What is Open Inventor?
Date: 30 Apr 1994 15:45:00 CDT

  Open Inventor is an object-oriented 3D toolkit offering a
  comprehensive solution to interactive graphics programming problems.
  It presents a programming model based on a 3D scene database that
  dramatically simplifies graphics programming. It includes a rich set
  of objects such as cubes, polygons, text, materials, cameras, lights,
  trackballs, handle boxes, 3D viewers, and editors that speed up your
  programming time and extend your 3D programming capabilities.

  Open Inventor: 
      o is built on top of OpenGL 
      o defines a standard file format for 3D data interchange 
      o introduces a simple event model for 3D interaction 
      o provides animation objects called Engines 
      o provides high performance object picking 
      o is window system and platform independent 
      o supports PostScript printing 
      o encourages programmers to create new customized objects 
      o is fun to use 

------------------------------

Subject:    -3- What is IRIS Inventor?
Date: 30 Apr 1994 15:45:00 CDT

  IRIS Inventor was the first release of Inventor; it is also known as
  Inventor 1.0 (Open Inventor is Inventor 2.0). It is built on top of
  IRIS GL rather than OpenGL, and has fewer features.

------------------------------

Subject:    -4- Is Inventor a format for 3D data?
Date: 30 Apr 1994 15:45:00 CDT

  Inventor defines a powerful, extensible format for 3D objects and
  scenes.  The Inventor format is the standard for 3D objects on
  Silicon Graphics machines, and may become the standard for all
  machines.

  However, Inventor is more than a 3D object file format; it is a
  complete toolkit for writing interactive, 3D applications.

------------------------------

Subject:    -5- Can I use Inventor to create 3D objects?
Date: 30 Apr 1994 15:45:00 CDT

  Inventor is for programmers writing 3D applications, and does not
  directly provide any way for users to create 3D objects. Several
  Inventor applications have been written that create 3D objects.
  Showcase 3.0, which is bundled with IRIX, is a fairly simple
  example.  A much more sophisticated modeller called Ez3d built on
  top of Inventor is available from Radiance Software International.

------------------------------

Subject:    -6- Is Inventor a user interface toolkit?
Date: 30 Apr 1994 15:45:00 CDT

  Yes and no. Inventor contains mostly 3D objects. There is little in
  the way of conventional user interface objects such as buttons,
  dialogs, and menus.  However, Inventor includes a full-fledged event
  model, a framework designed for 2D or 3D user interaction, and some
  manipulator objects for 3D user interface building. Note that the
  Inventor Xt Component and Utility Library includes some traditional
  2D user interface widgets.

------------------------------

Subject:    -7- Is there a performance cost using a software layer on
                top of GL?
Date: 30 Apr 1994 15:45:00 CDT

  Sometimes. Note that few GL programs achieve peak graphics
  performance. This is because most applications have natural
  application overhead, and also because many programmers lack a
  thorough understanding of the details and eccentricities of GL. If
  you are writing a simple display-only, immediate-mode GL program,
  then it will run faster using straight GL, but not much. However, if
  your program has scene traversal, interactivity, picking, bounding
  box calculations, and other object space tasks, then Inventor will
  perform better for you. This is because Inventor is specially tuned
  to make optimal use of GL on each SGI machine. Furthermore, Inventor
  supports render caching which results in peak GL performance in most
  cases.

  We have found that in many cases, Inventor programs run FASTER than
  the original GL program, and that the programmer productivity
  increases easily outweigh the overhead of the toolkit.

------------------------------

Subject:    -8- Does Inventor require C++?
Date: 30 Apr 1994 15:45:00 CDT

  No. You can use the C API and never see or use C++. However,
  subclassing to extend the toolkit does require C++.

------------------------------

Subject:    -9- Does Inventor work with the GNU C++ compiler?
Date: 30 Apr 1994 15:45:00 CDT

  No, Inventor requires SGI's C++ compiler. The GNU C++ compiler and
  SGI's C++ compiler produce incompatible code, and Silicon Graphics
  does not ship an Inventor library compatible with GNU C++.

------------------------------

Subject:   -10- Does Inventor have a Fortran or Ada API?
Date: 09 Jan 1996 00:00:01 PST

  No. Silicon Graphics is, however, in the process of creating an Ada95
  binding for Open Inventor.

------------------------------

Subject:   -11- Where can I get detailed, technical information on
                Inventor?
Date: 30 Apr 1994 15:45:00 CDT

  The Inventor Mentor, written by Josie Wernecke, is published by
  Addison-Wesley and is available in technical bookstores (ISBN
  0-201-62495-8).

------------------------------

Subject:   -12- How can I order Inventor software and/or documentation?
Date: 09 Jan 1996 00:00:01 PST

  On SGI machines, call your local SGI sales representative or, if you
  are in the United States, call 1-800-800-7441 to order.

  NeTpower provides Open Inventor for Windows NT for both Intel and
  MIPS Windows NT platforms. For more information pricing and
  availability of Open nventor for NT, call NeTpower Sales and Customer
  Service at: 800-801-0900, or send email to info@netpower.com.

  Portable Graphics provides (or will soon provide) Open Inventor for
  the following platforms:

    * HP Series 700 workstations with Freedom Series
    * IBM RS/6000 workstations (AIX v3.2.5 and 4.x)
    * Sun SPARCstations (Solaris 2.3 & 2.4)
    * Windows NT (Intel platform)
    * Windows NT (PowerPC platform)
    * DEC AlphaStation/Digital UNIX
    * DEC AlphaStation/Windows NT
    * Linux
    * Sun SPARCstations with Freedom Series
    * OS/2 Warp (PowerPC and Intel platforms)
    * Windows 95 (PowerPC and Intel platforms)
    * MESA
    * PowerMac

  Portable Graphics also supplies:

    * IRIS Inventor for HP workstations
    * IRIS Inventor for Sun workstations

  For product availability and pricing, please contact Portable
  Graphics at:

    Portable Graphics
    "An Evans & Sutherland Company"
    3006 Longhorn Blvd., Suite 105
    Austin, TX 78758
    (512) 719-8000
    (512) 832-0752 (fax)

  Template Graphics Software provides (or will soon provide) Open
  Inventor on the following platforms:

    * Sun Solaris (SPARC and X86)
    * IBM AIX
    * Windows NT 3.5 (Intel, Alpha, MIPS, PowerPC)
    * Windows 95
    * HP-UX
    * Apple PowerMac
    * OS/2
    * Digital UNIX

  For additional information on TGS graphics software visit their web
  page or send email to info@tgs.com. Template Graphics Software may
  also be reached at:

    Template Graphics Software
    9920 Pacific Heights Blvd. #200
    San Diego, CA 92121
    
    Robert J. Weideman, V.P. Marketing
    (619)457-5359 x229
    (619)452-2547 (fax)
    robert@tgs.com

------------------------------

Subject:   -13- How can I learn Inventor Programming?
Date: 09 Jan 1996 00:00:01 PST

  SGI Technical Education offers a week-long course in Inventor
  Programming.  Call 1-800-800-4SGI to sign up or visit the SGI
  Technical Education Web Page for a schedule of upcoming classes.

  Portable Graphics also offers an introductory programming course for
  Open Inventor.  "Introduction to Open Inventor Programming" is a
  two-day course that covers the material presented in "The Inventor
  Mentor" using demonstrations, examples and lecture.  It includes a
  copy of "The Inventor Mentor", code examples and course notes.

  For a course outline and registration information, contact:

    Phone: (800) 580-1166
    Fax: (800) 580-0616
    E-mail: inventor@portable.com

  Template Graphics Software provides developer training in North
  America, Japan and Europe. For course scheduleplease contact:

    Template Graphics Software
    (619)457-5359 x251
    E-mail info@tgs.com
    Web Page http://www.sd.tgs.com/

------------------------------

Subject:   -14- QUESTIONS ABOUT OPEN INVENTOR
Date: 06 May 1995 00:00:01 EST

  Questions about Open Inventor.

------------------------------

Subject:   -15- What version of Open Inventor runs on which version of
                IRIX?
Date: 09 Jan 1996 00:00:01 PST

  Inventor 2.0 runs on IRIX 5.2
  Inventor 2.0.1 runs on IRIX 5.3
  Inventor 2.1.x runs on IRIX 5.3, Irix 6.1 and higher

------------------------------

Subject:   -16- What Silicon Graphics platforms support Open Inventor?
Date: 09 Jan 1996 00:00:01 PST

  Open Inventor supports the following SGI graphics platforms:

    Reality Engine
    IMPACT
    Express Graphics (Extreme, Elan, XZ)
    Indy Graphics
    VGX, VGXT
    PI Graphics

------------------------------

Subject:   -17- What are the new features in Open Inventor 2.1?
Date: 09 Jan 1996 00:00:01 PST

New Features for Open Inventor 2.1 are:

    New and Updated_Documentation
        Inventor 2.1 includes a new book, the Open Inventor 2.1 Porting
        and Performance Tips.
    New File Version
        The file version has been updated to 2.1
    DSO Directories and Versions
        To avoid problems with incompatible code, the places Inventor
        searches for Dynamic Shared Objects (DSO) implementing new
        nodes has been changed.  For details please read the release
        notes of Inventor 2.1.
    VRML File Supported
        The SoDB read methods now also read files with the VRML 1.0
        header.
    User-Defined File Headers
        The SoDB class now includes methods for registering your own
        file headers.
    SoOutput::setFloatPrecision()
        You can now specify a precision to use when writing out
        floating point numbers.
    SoDB::readAll() Supports Paths
        The SoDB::readAll() method now supports reading objects of type
        SoNode or SoPath.
    New Nodes
        Inventor 2.1 now supports the following new nodes. For deatils,
        please read the release notes of Inventor 2.1.

        SoVertexProperty
        SoLOD
        SoLocateHighlight
        SoWWWAnchor
        SoWWWInline
        SoAsciiText
        SoFontStyle

    New Fields
        Inventor 2.1 now supports the following new fields. For
        details, please read the release notes of Inventor 2.1
        specifically regarding: fields and isA.
    SoGLRenderAction Render Abort Callback Changes
        The render abort callback of the SoGLRenderAction no longer
        returns a simple Boolean value. Instead, it returns an abort
        code that is one of:  CONTINUE, ABORT, PRUNE, or DELAY.
        CONTINUE is the same as returning FALSE in previous releases,
        and ABORT is the same as TRUE.
    New Manipulator for 3D Transformations
        A new manipulator, SoTransformerManip, has been added to the
        set of Inventor manipulators.
    OpenGL Texture Object Extension
        Open Inventor 2.1 makes use of the OpenGL extension for texture
        objects.  Consequently, on systems where this OpenGL extension
        is available, you will see improved texture mapping
        performance.
    Additional Texture File Formats
        The Inventor 2.1 SoTexture2 node now supports GIF and JPEG
        image files. The JPEG files are read using the fifth public
        release of the Independent JPEG's group free JPEG software.
    Picking vs. Viewing
        When in picking mode in any of the viewers, you can now
        temporarily switch to viewing mode by pressing the key. Note
        also that the manipulators now use the key as the modifier key,
        instead of the key.
    Disabling the Viewer Cursor
        The application can now set the cursor in the viewer windows
        directly, if it first disables the viewer cursor using
        SoXtViewer::setCursorEnabled().
    Targets for Copy and Paste
        The SoXtClipboard supports the following new data targets for
        copy and paste:

        INVENTOR_2_1
        INVENTOR_2_1_FILE
        VRML_1_0
        VRML_1_0_FILE
        INVENTOR_2_0
        INVENTOR_2_0_FILE

        The targets INVENTOR and INVENTOR_FILE are supported for
        backwards compatibility. They are equivalent to INVENTOR_2_0
        and INVENTOR_2_0_FILE.
    File Downgrade Utility
        A new utility program, /usr/sbin/ivdowngrade, takes an Inventor
        file and converts it to Inventor version 2.0 or 1.0.
    Program for Converting Files to Use SoVertexProperty
        This release includes sample source code for a utility program,
        ivAddVP, to help convert Inventor files into 2.1 files that use
        the vertexProperty field for the vertex- based shapes.
    Program for Optimizing Scene Graphs
        This release includes a new utility program, /usr/sbin/ivfix
        that restructures Inventor scene graphs for improved rendering
        performance. (The ivquicken utility program is no longer
        supported.) Note that ivfix makes significant changes to the
        structure of your scene graph.
    Program for Analyzing Rendering Performance
        This release includes sample source code for a utility program,
        ivperf, for analyzing rendering performance. See Open Inventor
        2.1 Porting and Peformance Tips for more information on using
        ivperf

------------------------------

Subject:   -18- How hard is it to port from IRIS Inventor to Open
                Inventor?
Date: 30 Apr 1994 15:45:00 CDT

  Most Inventor programs will be fairly easy to port. The Inventor 2.0
  release notes contain detailed information on converting your
  application. Most of your porting job will be fixing minor syntax
  changes (e.g. some length() methods were renamed getLength() for
  consistency with the rest of the toolkit) and fixing #include lines
  for files under /usr/include/Inventor that were moved around (e.g.
  all of the Xt components are now under /usr/include/Inventor/Xt).

  Inventor programs that contain a lot of IRIS GL code or that made
  extensive use of Inventor subclassing will be more difficult to port,
  since they will have to be ported to OpenGL and since the internal
  structure of Inventor underwent some major changes.

------------------------------

Subject:   -19- How hard is it to port from Open Inventor 2.0.1 to Open
                Inventor 2.1?
Date: 09 Jan 1996 00:00:01 PST

  Open Inventor 2.1 contains significant performance improvements.
  However, Inventor 2.1 is not binary compatible with previous
  releases, and programs will have to be recompiled.  Some programs may
  have to be re-coded to take full advantage of the performance
  improvements. Programs that extend the toolkit, as described in The
  Inventor Toolmaker, are more likely to need re-coding because parts
  of the extender API have changed. For details, please read Open
  Inventor 2.1 Porting and Performance Tips insight book.

------------------------------

Subject:   -20- How can I make my Open Inventor application faster?
Date: 09 Jan 1996 00:00:01 PST

  Read chapter 6 of "Open Inventor 2.1 Porting and Performance Tips"
  insight book. It describes a step by step method to find out your
  performance bottleneck and gives you some tips to optimize them.

------------------------------

Subject:   -21- When I compile my Inventor program, I get an error in
                SoDebugError.h.
Date: 30 Apr 1994 15:45:00 CDT

  You, or something you #include, are #include'ing the IRIS GL header
  file (gl/gl.h). It does: "#define WARNING 2", which conflicts with
  the enum value called "WARNING" in SoDebugError. You cannot mix Open
  Inventor with IRIS GL anyway (because you cannot mix OpenGL with IRIS
  GL), so you should fix your program so it doesn't try to #include
  <gl/gl.h> it should use <GL/gl.h> the OpenGL include file.

------------------------------

Subject:   -22- QUESTIONS ABOUT IRIS INVENTOR
Date: 06 May 1995 00:00:01 EST

  Questions about Iris Inventor.

------------------------------

Subject:   -23- What version of IRIS Inventor runs on which version of
                IRIX?
Date: 30 Apr 1994 15:45:00 CDT

  IRIX      IRIS Inventor Version
  --------------------------------
  3.3.*   | (Inventor is not available for IRIX 3.*)
  4.0.*   | 1.0.1
  5.0.1   | (bad release... do not use)
  5.1.*   | 1.1.2
  5.2.*   | Open Inventor 2.0 (1.1.2 on VGX(T)/GT(X)/PI)

------------------------------

Subject:   -24- Will I be automatically upgraded to Open Inventor if I
                have IRIS Inventor?
Date: 30 Apr 1994 15:45:00 CDT

  Customers with software maintenance contracts that have purchased the
  Inventor 1.0 developer's option will receive the Inventor 2.0
  developer's option when they receive IRIX 5.2.

------------------------------

Subject:   -25- Will my IRIS Inventor programs stop working if I install
                Open Inventor?
Date: 06 May 1995 00:00:01 EST

   No. The Inventor 2.0 run-time system (inventor_eoe) contains a
   complete set of compatibility libraries that will allow existing
   IRIS Inventor applications to continue to work.

------------------------------

Subject:   -26- Can I develop Open and IRIS Inventor programs on the
                same system?
Date: 06 May 1995 00:00:01 EST

  Yes, as long as your system supports OpenGL (Indy, Indigo, Indigo2,
  Crimson, and RealityEngine support OpenGL at this time). First,
  install the 2.0 version of both inventor_dev and inventor_eoe.
  REALLY IMPORTANT: When installing Inventor 2.0, previous Inventor
  versions will AUTOMATICALLY be removed.

  To re-install 1.1.2, you will need to use the 1.1.2 CD* to install
  1.1.2 into a different location (so as not to ruin 2.0). Please note
  that you will have to change the Makefiles of programs that will
  compile and link with 1.1.2 (-I and -l need to point to your safe
  locations of Inventor 1.1.2). To install Inventor 1.1.2 under a
  different root directory than /, so that Inventor 2.0 may be
  installed under /:

      # Install 1.1.2 compatibility library from Inventor 2.0 images
      inst -f inventor_eoe (get inventor_eoe.sw.1_1)
      # Create a directory to hold Inventor 1.1.2
      mkdir /usr/myroot
      # Fool inst into thinking you have prerequisites installed
      mkdir -p /usr/myroot/var/inst
      cp /var/inst/{c,dev,c_dev,gl_dev,motif_eoe,inventor_eoe} /usr/myroot/var/inst
      # Install Inventor 1.1.2 under your root directory
      inst -r /usr/myroot -f inventor_dev

  To make Inventor 1.1.2 sample programs in this new directory:

      ln -s /usr/lib/libInventor.so.1 /usr/myroot/usr/lib/libInventor.so
      cd /usr/myroot/usr/share/src/Inventor/examples/PG1
      # Add to the Makefile, after the line: include /usr/include/make/commondefs
      LC++INCS = -I/usr/myroot/usr/include
      LCINCS   = -I/usr/myroot/usr/include
      LLDOPTS  = -L/usr/myroot/usr/lib

  To re-install Inventor 1.0.1, install the subsystem
  "irix4_inventor_dev", found on the Inventor 2.0 or Inventor 1.1.2
  CDs. This will install the 1.0.1 headers and libraries under
  /usr/irix4.  You must change your makefiles to use include and link
  to this new location.

------------------------------

Subject:   -27- Prerequisite error installing Inventor 1.1.2
Date: 06 May 1995 00:00:01 EST

  Many customers are running into an inst installation prerequisite
  error when they try to load inventor_dev 1.1.2 onto their IRIX 5.2
  system. This error is due to a name change in c and dev subsystems
  between IRIX 5.1 and 5.2. The new name is c_dev. The fix is to load
  the *new* inventor_dev 1.1.2 (part # 812-0136-005) made for IRIX 5.2
  that came with the Open Inventor 2.0 Development Package. This
  version is smart enough to do the right thing. Unfortunately, both
  the *old* and *new* inventor_dev 1.1.2 are barely distinguishable
  only by their part number and content. The new inventor_dev 1.1.2 has
  a Copyright of 1992-94 and does not contain inventor_eoe 1.1.2.

------------------------------

Subject:   -28- Why do I get errors compiling the Inventor sample
                programs?
Date: 06 May 1995 00:00:01 EST

  Inventor 1.0.1 requires C++ version 2.*. If you have C++ version 3.*
  installed on your system, you must specify the -v2 flag to compile
  Inventor programs. If you are using the Makefiles distributed with
  Inventor, you should change the line that looks like:

    LC++OPTS = +p -Wf,-XNp10000

  to:

    LC++OPTS = -v2 +p -Wf,-XNp10000

  Inventor 1.1.2 and Inventor 2.0 work with C++ 3.*; you must remove
  the -v2 flag from your Makefiles when you upgrade to those versions
  of Inventor.

  If you receive this error when compiling:

    "/usr/include/X11/X.h", line 44: error:
        Cursor declared as unsigned short [16] and  XID

  You should rearrange the order in which you #include your files so
  that the Xt files are included before any file that references the
  IRIS GL include file. For example, be sure to #include
  <Inventor/SoXt.h> before <Inventor/nodes/SoTexture2.h>.

------------------------------

End of sgi/faq/inventor Digest
******************************

--
^[[m^[[31m※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.64.234]^[[m

※ 来源: 中国科大BBS站 [bbs.ustc.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:409.314毫秒