文档库 最新最全的文档下载
当前位置:文档库 › 托管 Direct3D 图形 API 的简介

托管 Direct3D 图形 API 的简介

托管 Direct3D 图形 API 的简介
托管 Direct3D 图形 API 的简介

.NET Framework 中新托管Direct3D 图形API 的简介

发布日期:12/6/2004 | 更新日期:12/6/2004

Yahya H. Mirza 和Henry da Costa

本文假设您熟悉C++ 和DirectX

摘要

DirectX 9.0 是最新发展的面向Windows 的Microsoft 3D 图形技术。Direct3D 是DirectX Graphics 子系统的一个主要组件,它在过去几年中的发展是如此迅速,以至于基础编程范例与最初相比已发生了很大的变化。本文介绍了非托管Direct3D 体系结构的基础概念,并说明了托管Direct3D 层如何提取非托管层。本文作者还介绍了Geometry、T exture、Device 和其他类,并使用了Samples SDK 中的代码。

本页内容

Direct3D 体系结构

Direct3D 管线

非托管的Direct3D

Direct3D 扩展

托管的Direct3D

设备类

图形状态类

与几何形状相关的类

纹理类

托管的D3DX 库

托管DirectX 9.0 示例框架

GraphicsSample 类

初始化和清除

帧更新和呈现

小结

硬件加速的图形API 所面临的基本挑战就是,让应用程序开发人员利用3D 硬件领域中发生的快速技术革新的同时,允许图形硬件解决方案之间存在一定程度的兼容性和一致性。达到此目的的一种方法就是,由委员会定义一种标准,然后让每个供应商支持该标准。图形硬件供应商可以通过商定的扩展机制来革新和创建专用扩展。随着时间的推移,硬件供应商可以游说标准制定机构接受它们的专用扩展并将其作为标准的一部分。OpenGL 1.1 版就是该方法实现硬件互操作性的一个示例。它的一个局限是,需要很长的时间才能将供应商特定的革新合并到多供应商标准中,因此会面临标准作废的风险。

在DirectX?9.0 中,DirectDraw?和Direct3D?的功能组合到名为DirectX Graphics 的单个API 中。该组件的Direct3D 部分将是本文的主要重点。在Microsoft?Direct3D 中,程序员有两种选择:依赖固定功能管线或可编程管线。固定功能管线本身依赖于由Direct3D 标准化的现有算法。这些固定功能是通过一组类似于OpenGL 的固定的枚举值来公开的,这意味着Direct3D 和OpenGL 的固定功能管线均使用内部switch 语句。在switch 语句中与枚举值相对应的某些case 可能是硬件加速的,这基于运行库所依赖的图形卡的功能。在Direct3D 中,在使用固定功能管线时,程序员首先检查运行库,查看图形卡是否支持特定功能。

因为一些图形卡并不支持通过Direct3D 公开的所有功能,所以在Direct3D 中提供了一个用来探测图形硬件的机制。如果硬件不支持特定的图形功能,该检查将失败,并允许程序员查找其他的硬件加速算法。请记住以下要点:Direct3D 固定功能管线公开硬件加速的功能。尽管Direct3D 有一个名为参考设备的仅限软件的仿真模式,但是,它设计用于调试和功能测试目的—而不是用来提供应用程序。

对于硬件和软件共同发展所面临的问题,另一个更有趣的方法是可编程管线。在可编程管线中,程序员可以定义自己的算法,而不是选取预定义的枚举值并让Direct3D 执行算法。运行库将动态地编译基础图形硬件的算法。在这种情况下,Direct3D 运行库有一个实时(JIT) 编译器,该编译器是硬件设备驱动程序的显式部分。硬件供应商负责为其特定的图形硬件提供JIT 编译器。因此,Direct3D 充当图形虚拟机,它使用自定义的图形指令集高效地虚拟化图形处理器(GPU)。

Direct3D 体系结构

尽管托管和非托管Direct3D 编程层都是通过一系列对象公开的,但是您不应当将它们视为应用程序级别编程框架。Direct3D 体系结构的主要角色就是为更高级别的解决方案(如游戏引擎或布景图形API)提供基本功能。为了帮助实现这些解决方案,Direct3D 扩展库显式提供其他功能。为了充分理解Direct3D 体系结构,您不但必须了解所提取的功能,而且还要了解该功能的组织和公开方式。在以下几节中,我们将概述Direct3D 体系结构的基本元素,并讨论如何通过非托管的COM API 和托管 .NET 抽象层来公开它们。

返回页首

Direct3D 管线

正如计算机硬件体系结构所常见的那样,3D 图形体系结构中使用的两个性能优化技术是管线化和并行化。通过Direct3D 公开的算法在逻辑上组织为管线。图1说明了Direct3D 管线。

Direct3D 管线应当被视为一组作用于3D 几何数量的算法,对于Direct3D 来说,这些几何数量是预定义的顶点和基元。管线的主要目的是将几何数据转换为在视频显示器上呈现的图像。Direct3D 网格化

阶段用于网格化(转换为三角形)由Direct3D 预定义的一组更高阶的固定基元,这些基元包括三角形块、矩形块和N 边形块(尽管三角形块仍是最常见的几何形状)。目前,网格化阶段不是可编程的,因此,Direct3D 不公开任何允许针对图形硬件生成程序几何的机制。就最小化通过总线发送的数据而言,程序几何提供了许多好处。在不久的将来,您有可能看到为可编程的网格化阶段提供的硬件支持。

在管线的变换和光照阶段,会将顶点位置和法线从模型坐标系统变换为世界坐标系和照相机坐标系,这是通过世界变换和视图变换来完成的。首先执行每顶点光照计算,以便确定反射光和漫射颜色组分。然后由投影变换功能转换顶点位置,以便创建透视投影、正投影或其他类型的投影。尽管固定功能管线仍像以前那样在同一个API约定中公开这些变换和光照算法,但是,在大多数图形卡中,它们是在图形处理器的微代码中实现的,而不是作为一组硬件加速的算法来实现。例如,在Radeon 9700 处理器中,过去的整个变换和光照模块可以而且应当在可编程的管线中作为顶点Shader 来实现。

为了在光栅化阶段提高性能,属于照相机无法看到的对象的顶点将被剪裁掉。另外,还可能会执行背面选择,以免光栅化背对照相机的三角形。此外,还执行属性评估,以便配置和选择将在光栅化阶段使用的实际算法。最后,执行光栅化功能,以便实际呈现像素。

在像素处理阶段,您可以选择使用固定功能的多纹理化或可编程的像素Shader 来确定像素的颜色值。固定功能多纹理化通过一系列纹理阶段来公开,在每一个阶段,都允许针对像素的颜色和alpha 值执行一组固定的运算。像素Shader 通过自定义的汇编语言公开针对颜色和 alpha 值执行的运算,从而提供更大的灵活性。在像素处理阶段实现的算法包括凹凸贴图、阴影化、环境贴图等。

帧缓冲区处理涉及到一组名为呈现表面、深度缓冲区和模板缓冲区的内存区域。在该阶段,会执行一系列计算来确定诸如深度、alpha 和模板的值。深度缓冲区是另一种用来删除隐藏线和表面的呈现优化。深度测试用来确定哪些像素是隐藏的而且不需要呈现,它可以通过使用z-缓冲区或w-缓冲区来确定,每种算法都有其各自的优缺点。帧缓冲区处理功能可实现许多效果,如透明度、雾化和阴影。

对于Direct3D 管线来说,需要强调的最后一点是可通过图形状态来修改它的行为。图形状态用来配置多变换、光照、光栅化、像素处理和帧缓冲区处理算法,这些算法由Direct3D 提供,用于呈现帧。这些阶段包括呈现、变换、取样器和纹理阶段状态。

返回页首

非托管的Direct3D

用来管理DirectX 图形的主要对象是Direct3D 对象。Direct3D 对象是通过Direct3DCreate9 函数创建的,Direct3DCreate9 函数是由核心Direct3D API 公开的唯一一个全局函数。Direct3D 对象实现IDirect3D9 接口并负责确定特定设备的细节。除了设备枚举,IDirect3D9 接口负责通过它的CreateDevice 工厂方法来创建Direct3DDevice 对象。

Direct3DDevice 对象实现IDirect3DDevice9 接口并充当Direct3D 图形的主要支持者。Direct3DDevice9 I接口提取在图1中说明的整个管线。它提供的方法可以为变换、光照、光栅化、像素和帧缓冲区处理公开许多种算法,并且由符合Direct3D 的特定硬件设备提供。IDirect3DDevice9 接口中的方法可以按如下类别组织:一组属性(用来配置Direct3D 图形管线或者提供有关其当前状态的信息)、工厂方法(用来在Direct3D 体系结构中创建其他对象)或者一组方法(用来执行实际图形算法)。Direct3D 管线的状态可以通过IDirect3DDevice9 接口的一组访问器方法来配置。GetRenderState 和SetRenderState 方法检索和/或设置设备的呈现状态值。非托管的D3DRENDERSTATETYPE 枚举类型为您提供一组可用于配置当前呈现状态的选项。GetTextureStageState 和SetT extureStageState 方法检索和/或设置当前分配的纹理的状态值。非托管的D3DTEXTURESTAGESTATE 枚举类型还向开发人员提供一组可用于配置单个纹理阶段的选项。图形状态的其他属性可通过从非托管的D3DTRANSFORMSTATETYPE 和D3DSAMPLERSTATE 枚举类型选择选项来配置。

非托管的Direct3D 中的几何形状是通过VertexBuffer 和IndexBuffer COM 对象使用的。这些对象是通过工厂方法在IDirect3DDevice9 接口上创建的。VertexBuffer 对象实现IDirect3DVertexBuffer9 接口并存储用户定义的一系列顶点。这些顶点由特定应用程序所需的数据组成,并且可以通过使用灵活的Direct3D 顶点格式来声明。灵活的Direct3D 顶点格式通过一组宏来使用。灵活的顶点格式存在一个基本局限,那就是它们只能使用单个数据流,因此可能会浪费内存。灵活的顶点格式通常与固定功能管线结合使用。IndexBuffer 对象实现IDirect3DIndexBuffer9 接口,并将索引数组存储到VertexBuffer 中。IndexBuffer 通过重用共享的顶点来提供可节省内存的优化。

返回页首

Direct3D 扩展

非托管的Direct3D 扩展(D3DX) 实用工具库为广泛的2D、3D 和4D 矢量数学运算提供大量的接口、函数、宏和支持类。另外,还提供了可支持程序纹理、凹凸贴图和环境贴图的函数。Direct3D 一个重要的子集是它的 .X 文件格式。它提供了适用于网格、动画和纹理的函数。D3DX 的一个最新功能是它对Shader 和效果文件的支持。运行库汇编程序是通过D3DXAssembleShader、D3DXAssembleShaderFromFile 和D3DXAssembleShaderFromResource API 函数为Shader 提供的。

返回页首

托管的Direct3D

托管的Direct3D 已经变成核心Direct3D 运行库的重要部分,这与D3DX 之类的扩展库相反。因此,尝试让托管抽象尽可能接近最初的非托管抽象。为了更好地理解托管Direct3D,一定要先了解托管层如何提取非托管的Direct3D。对于大部分来说,托管的Direct3D 提供从非托管层中的接口、结构和枚举到托管层中的类、结构和枚举的一对一映射。为了显式使用托管代码的一些新功能,如类实现继承、C# 属性、索引器和事件,托管层中的几个抽象需要按稍微不同于其非托管副本的方式公开。在以下几节中,我们将介绍由托管Direct3D 公开的基础类。

返回页首

设备类

托管的Direct3D 提供了基于类的设备抽象,该抽象是通过使用非托管的IDirect3DDevice9 接口实现的。编写Direct3D 托管代码的程序员使用Device 类的方法来访问其他Direct3D 对象,以便设置各种图形状态并呈现几何形状。为了执行这些函数,Device 类提供了许多属性、方法和事件。图2列出了Device 类最重要的方法,这些方法由3D 应用程序调用。

谈到对象激活,一种观点认为,非托管的Direct3D 之所以使用工厂方法,只是因为COM 不支持新运算符。COM 的标准激活模式是基于工厂的构造。CoCreateInstance 函数模仿 COM 的新运算符,但它只是一个在内部使用COM 工厂的包装。使用工厂(相对于新运算符)的另一个原理就是,在使用新运算符时,需要将对象的特定实现绑定到客户端的代码中;因此,如果大量使用新运算符,可能会导致版本控制问题。工厂方法通常用于将代码的客户端或用户与代码的创建者去耦。非托管的COM IDirect3DDevice9 接口提供14 种显式工厂方法,以便创建在使用Direct3D 时需要的对象(如像素和顶点Shader 以及顶点和索引缓冲区)。

目前,托管的Direct3D 在很大程度上依赖于使用新运算符来构造类。尽管Device 托管类只提供三种工厂方法,但是,一个值得注意的有趣现象是,非托管的IDirect3DDevice9 工厂方法和由Device 类

公开的公共属性之间存在一对一关联。以下代码行说明了由Device 托管类公开的三种工厂方法,每种方法都使用多个参数:

public Surface CreateRenderTarget(...);

public Surface CreateDepthStencilSurface(...);

public Surface CreateOffscreenPlainSurface(...);

在托管的Direct3D 中大量使用方法重载。下面的代码示例说明了非托管的Device.ColorFill 方法及其托管的重载包装:

typedef DWORD D3DCOLOR;

// Methods from the unmanaged IDirect3DDevice9 interface.

HRESULT ColorFill(IDirect3DSurface9 *pSurface, CONST RECT *pRect,

D3DCOLOR color);

// Methods from the managed Device class.

public void ColorFill(Surface surface, Rectangle rect, Color color);

public void ColorFill(Surface surface, Rectangle rect, int color);

与传统的图形系统一样,非托管的Direct3D 需要将颜色值作为32 位整数值在内部传递。另一方面,Microsoft .NET Framework 显式提供用来处理ARGB 颜色值的System.Drawing.Color 类,其中包含几种用来在不同表示形式之间进行转换的方法。为方便那些已习惯于使用整数值来表示颜色的程序员,托管的Direct3D 在需要颜色参数时使用这两种表示形式来提供方法重载。

非托管的IDirect3DDevice9 接口既公开只读属性,又公开读写属性,这两种属性都可以带参数,也可以不带参数。在最新版本的 .NET Framework 中,属性不带参数。因此,在将非托管的Direct3D 映射到托管的Direct3D 时,不使用参数的属性可以很好地映射到C# 属性,而使用参数的Direct3D 非托管属性只作为Get 和Set 方法公开。图3列出了Device 类的一些最重要的属性。

最后,Direct3D Device 托管类提供了五个用来与设备进行交互的显式事件。基于Direct3D 的应用程序可以通过以下方法来将事件作为Device 的来源:启动应用程序、调整窗口的大小、从窗口模式更改到全屏模式或者退出应用程序。一个有趣的发现是由Direct3D 使用的基于 .NET 委托的事件模式。对于Device 类的每个事件声明,提供了添加、删除和引发方法,以及用来存储事件处理程序的私有实例变量。在C# 中,客户端事件注册和注销的语法形式分别是通过+= 和-= 运算符来提供的(请参阅图4)。

返回页首

图形状态类

如前所述,非托管代码的图形状态是通过IDirect3DDevice9 接口的方法来配置的。例如,在非托管代码中,变换状态可通过GetTransform 和SetTransform 方法直接访问,这两种方法都使用D3DTRANSFORMTYPE 类型的枚举值。

// From unmanaged IDirect3DDevice9 interface:

HRESULT GetTransform(D3DTRANSFORMSTATETYPE State, D3DMATRIX *pMatrix); HRESULT SetTransform(D3DTRANSFORMSTATETYPE State,

CONST D3DMATRIX *pMatrix);

托管的Direct3D 为非托管层提供一些抽象,这会使客户端代码变得更简洁。下面显示的Device 类说明了一组只读属性:

public class Device : MarshalByRefObject, IDisposable

{

// Additional properties, methods and events.

public Transforms Transform { get; }

public RenderStates RenderState { get; }

public SamplerStates SamplerState { get; }

public TextureStates TextureState { get; }

}

这些属性返回Transforms、RenderStates、SamplerStates 和TextureStates 类的实例。这些实例随后用于配置托管Direct3D 的图形状态。例如,Device 类不直接公开使用枚举值的Transform 属性。Device 托管类提供可返回Transforms 对象的属性。Transforms 对象随后公开一组可用来访问当前世界、视图和投影矩阵的属性,这些属性本身是TransformType 托管枚举的元素。

RenderStates 类提供了大量的属性来配置为光栅化阶段选择的特定算法。下面的客户端代码显示了如何设置Direct3D 托管管线的状态。

// cull, spec, dither states.

device.RenderState.CullMode = Cull.None;

device.RenderState.SpecularEnable = false;

device.RenderState.DitherEnable = false;

// Filter states.

device.SamplerState[0].MagFilter = TextureFilter.Linear;

device.SamplerState[0].MinFilter = TextureFilter.Linear;

请注意,使用索引器来访问取样器状态的多纹理层叠所在的阶段。

取样器状态指定用于特定阶段的筛选、平铺和纹理寻址模式,这些模式可通过Sampler 类的属性来公开。筛选功能用于指定如何将图像映射到特定的Direct3D 基元。根据图像(纹理)的大小以及它需要映射到的屏上基元的大小,可能需要放大或缩小图像。Direct3D 提供了三种筛选方法:MipFilter、MinFilter 和MagFilter,每种方法都具有可由TextureFilter 枚举配置的模式。平铺功能用于将一组单个的纹理汇集成单个纹理并减少切换纹理的需要。平铺功能是通过Sampler 类的一组属性获得支持的。最后,纹理寻址模式通过TextureAddress 枚举的元素为[0,1] 边界外部的纹理坐标定义操作:

public class SamplerStates

{

private Sampler[] m_lpTex;

private bool pureDevice;

public Sampler get_SamplerState(int index);

internal SamplerStates(Device dev, bool pure);

public Sampler this[int index] { get; }

}

TextureStates 和SamplerStates 类提供只读索引器,该索引器可返回特定阶段的T extureState 实例。TextureState 类定义的属性可获得或指定特定纹理阶段状态的元素。诸如ColorArgumentn 或AlphaArgumentn(其中n 可以是0、1 或2)属性可以是T extureArgument 枚举的元素,而ColorOperation 或AlphaOperation 可以属于TextureOperation 枚举,如下所示:

// color = tex mod diffuse.

device.TextureState[0].ColorArgument1 = TextureArgument.TextureColor;

device.TextureState[0].ColorOperation = TextureOperation.Modulate;

device.TextureState[0].ColorArgument2 = TextureArgument.Diffuse;

// alpha = select texture alpha.

device.TextureState[0].AlphaArgument1 = TextureArgument.TextureColor;

device.TextureState[0].AlphaOperation = TextureOperation.SelectArg1;

device.TextureState[0].AlphaArgument1 = TextureArgument.Diffuse;

返回页首

与几何形状相关的类

Direct3D 中的几何形状被定义为顶点定义的数组。不同的图形算法需要存储在每个顶点的不同信息,了解这一点很重要。这些顶点组分需要由应用程序进行声明,具体情况取决于程序员希望实现的效果。例如,如果程序员希望将纹理映射到Direct3D 将呈现的几何形状,则程序员必须进行如下声明:在每个顶点,都将有tu 和tv 值(纹理坐标)。托管的Direct3D 提供了两种顶点定义机制:V ertexFormats 和VertexDeclarations。使用这些机制,可以在每个顶点定义其他数据,如颜色、混合权重、纹理坐标或应用程序定义的任何用法。作为一种方便的方法,为经常使用的顶点格式定义提供了CustomVertex helper 类。CustomVertex 类提供 11 种不同的顶点定义,这些定义经常用于Direct3D 应用程序中。

在托管的Direct3D 中,应用程序用来定义其顶点布局的顶点格式由Device 类的读和写VertexFormat 属性来访问。VertexFormat 属性访问VertexFormats 枚举的元素,并且只需通过以下方法来实现:针对IDirect3DDevice9 接口使用GetFVF 和SetFVF 方法,调用内部的非托管Direct3D Device COM 对象。托管的VertexFormats 枚举映射到在d3dtypes.h 中定义的VertexFormat 常量位,如下所示:

public struct Vertex

{

public Vector3 position;

public float tu, tv;

public static readonly VertexFormats Format =

VertexFormats.Position | VertexFormats.Texture1;

};

// From a typical managed Direct3D applications Render() method.

device.VertexFormat = Vertex.Format;

在使用可编程的管线时,需要自定义的顶点声明。与使用灵活的顶点格式定义的顶点缓冲区不同,自定义顶点声明可以通过使用多个流来定义,从而可节省带宽:

VertexElement[] declaration = new VertexElement[]

{

new VertexElement(

0, // short stream

0, // short offset

DeclarationType.Float2, // DeclarationType declType

DeclarationMethod.Default, // DeclarationMethod declMethod

DeclarationUsage.Position, // DeclarationUsage declUsage

0 // byte usageIndex

),

VertexElement.VertexDeclarationEnd

};

VertexDeclaration declaration = new VertexDeclaration(device,

declaration);

托管Direct3D 中的几何形状通常是通过处理VertexBuffer.Created 事件来创建的。图5显示了从SDK 中的Tutorial2 示例提取的简单三角形形状,并说明了预定义的自定义顶点(CustomVertex.TransformedColored) 的用法。

返回页首

纹理类

在托管的Direct3D 中,与纹理相关的类从抽象类Resource 继承,并且在极大程度上在与纹理相关的非托管接口上建立层。托管的Direct3D 有三个纹理类:T exture、CubeTexture 和VolumeT exture。Texture 类表示可映射到基元上的图像,用于呈现或用于凹凸贴图、法线贴图或其他效果。纹理的基本函数用于将一对纹理坐标映射到某个值(通常是颜色值),但是可以通过其他方式进行解释。纹理坐标通常是顶点数据的一部分。纹理坐标到颜色或其他值的映射是在呈现管线的像素处理阶段完成的。Direct3D 允许一次最多使用八个纹理。CubeTexture 类是用于立方体环境贴图的特殊种类的纹理,立方体环境贴图这种技术允许环境(如室内或外景)由反光物体反射出来,这是通过以下方法来实现的:使用纹理来为立方体周围的六个面各定义一个图像,并由所呈现的物体来反射。VolumeTexture 类表示存在于三维矩形空间中的颜色或其他值。同样,它将纹理坐标的三元组映射到颜色或其他值。这些类最重要的方面是,它

们都支持一组用于锁定和取消锁定纹理的重载方法。

经常用于加载和保存纹理的类是TextureLoader。T extureLoader 类包含用来从文件或流加载纹理、立方体纹理或体积纹理的方法。TextureLoader 类的其他用法包括填充和筛选纹理以及计算法线贴图。用来创建纹理的有用的helper 方法由GraphicsUtility 类提供:文件的GraphicsUtility.CreateT exture 方法只是查找指定纹理的路径,然后调用TextureLoader.FromFile 方法以加载它。以下代码说明了GraphicsUtility 类的用法:

Texture texture = GraphicsUtility.CreateTexture(device,"banana.bmp");

返回页首

托管的D3DX 库

托管的D3DX 实用工具库具有用来处理网格、纹理、Shader、效果、文本和动画的类。但是,与非托管的D3DX 库不同的是,它没有数学类,如矩阵、矢量和四元组类。在托管DirectX 中,数学类是DirectX 库的一部分。

用来处理网格的类包括Mesh、SimplificationMesh、ProgressiveMesh、SkinMesh 和 PatchMesh。Mesh 和ProgressiveMesh 从BaseMesh 类继承。BaseMesh 管理内存(包括顶点和索引缓冲区)中的网格表示形式,并提供用来呈现网格的DrawSubset 方法。其他方法包括用来复制网格的Clone 方法,以及用来计算顶点法线并获取相邻项信息的方法。

Mesh 类使用可将网格保存到 .X 文件(标准的DirectX 文件类型)或二进制流中并从中加载网格的方法来扩展BaseMesh。还提供了用来生成表示以下图形的网格的方法:n 边形、圆柱、球形、圆环、给定字体的3D 文本或者甚至是茶壶。用户可以网格化网格以获得更光滑的对象(通过将每个三角形解释为N-patch),简化网格(通过减少三角形的数量)、优化网格(通过对三角形重新排序,以便利用硬件中的顶点缓存并提高性能)或者执行与网格的光交叉。

SimplificationMesh 对象是从Mesh 构造的,它具有可减少表面(三角形)或顶点数量的方法,从而可产生比初始网格简单但是质量更低的网格形式。ProgressiveMesh 对象是从Mesh 构造的。它允许实时简化网格,以便在网格对象和照相机之间的距离增大时,最小化所呈现三角形的数量。SkinMesh 类(由主干制作动画的网格)提供的方法可用来从 .X 文件数据对象加载外观网格。包含了用来公开基础网格和外观的信息(如每根骨头对结构的影响)的属性。

PatchMesh 类表示更高阶的表面,如N-Patch、Triangle Patch 或Rectangle Patch 表面。PatchMesh 包括用来执行如下操作的方法:从Mesh 对象创建N-Patch 网格、从 .X 文件加载PatchMesh、网格化PatchMesh 等。用来处理纹理的类主要包括:前面介绍的TextureLoader 类、RenderToEnvironmentMap 类和RenderT oSurface 类。RenderToEnvironmentMap 和RenderToSurface 类用来在运行时创建立方体环境贴图和纹理。如果在运行时呈现到纹理中,则允许您获得特殊效果,如让类似于镜面的物体反射布景中的其他物体,或者制造双窗格呈现效果。用来处理文本的类主要包括Font 类,Font 类可以从System.Drawing.Font 对象实例化,并且具有可以在支持Direct3D 的设备上呈现文本的方法。用来处理动画的类由KeyFram eInterpolator 类组成,KeyFrameInterpolator 类具有用来以内插值替换对象的缩放、旋转和/或平移的方法。内插值替换是通过使用一组3D 矢量(用来缩放和平移)和四元组项(用于旋转)来执行的。

返回页首

托管DirectX 9.0 示例框架

DirectX 9.0 示例框架通过实现经常执行的任务来提供许多可以加速图形应用程序开发的类。示例框架可通过源代码形式使用。要使用它,只需向图形应用程序项目中添加所需的源文件。

当通过托管DirectX 应用程序向导(在Microsoft Visual C#? .NET 中)创建应用程序时,会基于示例框架生成代码。使用该向导生成图形应用程序是开始使用示例框架的最快捷的方法。示例框架由DirectX 9.0 SDK 附带的示例使用。DirectX 9.0 示例显示了如何利用Direct3D 以外的示例框架。

即使在不直接使用示例框架时,也可以引用示例框架中的代码,以便查看如何通过灵活可靠的方式来驱动DirectX 9.0 代码。

返回页首

GraphicsSample 类

使用DirectX 示例框架的C# 应用程序继承GraphicsSample 类,该类具有执行如下操作的代码:?初始化和终止DirectX。

?查找要使用的最佳窗口显示模式或全屏显示模式。

?显示一个允许用户更改设备设置(如显示模式)的窗体。

?处理窗口操作(如移动、调整大小、最小化和最大化)。

?在窗口获得和失去焦点时处理窗口激活和停用。

?处理用户接口事件(如按键)和主菜单导航事件。

?执行帧更新和呈现操作。

?以暂停和单步执行动画的形式执行基元动画。

?收集和显示统计信息。

?处理异常。

GraphicsSample 类本身从System.Windows.Forms.Form 继承,因此图形应用程序从根本上说是Windows 窗体。

GraphicsSample 类定义了几种方法,子类可以重写这些方法以改变默认的行为或添加功能。它还具有许多可用于执行如下操作的字段和属性:控制图形应用程序行为;访问支持DirectX Graphics 的设备。图6显示了使用GraphicsSample 类所必需的最小代码,该代码是从DirectX 9.0 示例提取的。图6中的Render 方法只是清除显示表面,因此该代码将只是显示黑色背景。实际上,该向导添加用来在蓝色背景上显示茶壶的代码(如果开发人员这样选择的话),但是为简单起见,已将该代码省略。在一般情况下,会将茶壶呈现代码替换为应用程序特定的呈现代码。

实际上,DirectX 9.0 C# 向导会创建一个它在其中放置Main 方法的单独的类,因此所生成的代码不同于图6中显示的代码。如果要生成图6中的代码,则有必要向该项目中添加D3DApp.cs 文件,以便

GraphicsSample 类可用。

返回页首

初始化和清除

图7列出了特定于初始化或清除的可重写的方法。这些方法可用于许多情况:启动应用程序、终止应用程序、更改设备、丢失设备和重置。图8详述了导致其中每种情况的调用顺序。

除了图7中的方法以外,GraphicsSample 类还有一个RenderTarget 属性,在调用CreateGraphicsSample 以更改呈现目标之前,派生类可以设置RenderT arget 属性。在默认情况下,呈现目标是Windows 窗体本身。派生类可以定义一个单独的控件或窗口来充当呈现目标。

返回页首

帧更新和呈现

GraphicsSample 类调用Fram eUpdate 方法,派生类可以重写该方法以更新每个帧的布景。FrameUpdate 方法可以从鼠标、游戏杆或其他输入设备获得输入,并相应地更新照相机或其他布景对象。通常,您将在FrameUpdate 方法中放置与动画相关的更新代码(如模仿、冲突检测或与游戏相关的人工智能)。

GraphicsSample 类调用Render 方法,任何派生类必须重写该方法才能呈现布景。Render 方法负责清除显示表面区域,并在调用设备的BeginScene 和EndScene 方法之间呈现布景。

图9显示了由托管DirectX 应用程序向导生成的用来呈现茶壶的Render 方法实现,为清楚起见,对该实现的格式稍作改变。在这个简单的示例中,Render 方法设置光照以及世界矩阵、视图矩阵和投影矩阵。由于这些呈现状态在帧之间不发生更改,因此它们也可以直接在RestoreDeviceObjects 方法中设置,这将提高效率。如果在RestoreDeviceObjects 中设置这些不发生变化的呈现状态,将只在设备被初始化时对这些状态设置一次,而不是在每个帧期间都设置。图9中显示的代码需要另一个文件—DXUtil.cs,该文件可以在示例框架中找到。

返回页首

小结

托管的Direct3D 是DirectX 9.0 中DirectX Graphics 组件的一部分,它使开发人员更有机会使用 .NET Framework 来向其应用程序中添加3D 功能。托管的Direct3D 不仅与其非托管副本几乎同样高效,而且在与高级别的阴影语言结合使用时,它为高性能的RAD 游戏开发提供了更光明的未来。

有关相关文章,请参阅:

Using the Effects Framework

https://www.wendangku.net/doc/3813308195.html,/directx

https://www.wendangku.net/doc/3813308195.html,

有关背景信息,请参阅:

Real-Time Rendering,2nd Edition, by Tom as Akenine-Moller and Eric Haines (AK Peters, 2002), Real-Time Shading, by Marc Olano, John C. Hart, Wolfgang Heidrich, and Michael McCool (AK Peters, 2002)

The DirectX 9 Programmable Graphics Pipeline,由Microsoft Press 于 2003 年7 月出版。Yahya H. Mirza是Aurora Borealis Software 的首席设计师。自2000 年以来,他一直在Microsoft 和Source Dynamics 从事使用 .NET Framework 的项目。他和他的公司正在 Pixar 从事一个图形GPU 项目。您可以通过yahya_mirza@https://www.wendangku.net/doc/3813308195.html,与他联系。

Henry da Costa已在计算机图形领域进行了18 年的编程。他已经为启动活动实现了一个游戏引擎,并为Softimage 产品实现了几个SDK。您可以通过henrydacosta@sympatico.ca与Henry 联系。

综合交易平台交易银期功能特别说明

综合交易平台银期功能特别说明 1概述 银期相关指令分为2类: 银行交互指令和非银行交互指令。 1.1 非银行交互指令 采用查询流的方式和综合交易平台通讯,包括: 请求查询签约银行,可以知道银行编号和银行分支号。在后续的银行交互指令中需要用到这些参数。1.2 银期交互指令 和交易指令相似,涉及综合交易平台和银行转账服务器。 综合交易平台收到银期指令后进行校验,如果校验不通过,从OnRsp*返回错误消息。如果通过校验,就把银期指令转发给银行。 之后,Thost收到银行回报后,从OnRtn*返回成功消息,从OnErrRtn*返回错误消息。 所以,最终的成功消息是从OnRtn*返回的。 以查询银行可转资金ReqQueryBankAccountMoneyByFuture为例,时序如下:

后续章节采用伪码方式说明发送银行交互指令时需要设置的参数。 注意:涉及农行/中行的指令需要输入银行密码 2期货发起查询银行余额 CThostFtdcReqQueryAccountField fld; fld.TradeCode = "204002"; fld.BrokerID = 经纪公司代码; fld.BankID = 银行代码; fld.BankBranchID = 银行分支代码; fld.RequestID = 请求编号;

fld.SecuPwdFlag = THOST_FTDC_BPWDF_BlankCheck; // 明文核对 fld.BankPwdFlag = THOST_FTDC_BPWDF_NoCheck; // 不核对 fld.VerifyCertNoFlag = THOST_FTDC_YNI_No; // fld.AccountID = 资金账号; fld.Password = 资金密码; fld.CurrencyID = "RMB"; fld.BankPassWord = 银行密码 3期货发起银行资金转期货 CThostFtdcReqTransferField fld; fld.TradeCode = "202001"; fld.BrokerID = 经纪公司代码; fld.BankID = 银行代码; fld.BankBranchID = 银行分支代码; fld.RequestID = 请求编号; fld.SecuPwdFlag = THOST_FTDC_BPWDF_BlankCheck; // 明文核对 fld.BankPwdFlag = THOST_FTDC_BPWDF_NoCheck; // 不核对 fld.VerifyCertNoFlag = THOST_FTDC_YNI_No; // fld.AccountID = 资金账号; fld.Password = 资金密码; fld.TradeAmount = 转账金额; fld.CurrencyID = "RMB"; fld.BankPassWord = 银行密码 4期货发起期货资金转银行 输入参数“3,期货发起期货资金转银行”相似,差别在于TradeCode = “202002”。

淘宝常用专业术语、名词解释

淘宝常用专业术语、名词解释 【基础统计类】 1、浏览量(PV):店铺各页面被查看的次数。用户多次打开或刷新同一个页面,该指标值累加。 2、访客数(UV):全店各页面的访问人数。所选时间段内,同一访客多次访问会进行去重计算。 3、收藏量:用户访问店铺页面过程中,添加收藏的总次数(包括首页、分类页和宝贝页的收藏次数)。 4、浏览回头客:指前6天内访问过店铺当日又来访问的用户数,所选时间段内会进行去重计算。 5、浏览回头率:浏览回头客占店铺总访客数的百分比。 6、平均访问深度:访问深度,是指用户一次连续访问的店铺页面数(即每次会话浏览的页面数),平均访问深度即用户平均每次连续访问浏览的店铺页面数。【月报-店铺经营概况】中,该指标是所选月份日数据的平均值。 7、跳失率:表示顾客通过相应入口进入,只访问了一个页面就离开的访问次数占该入口总访问次数的比例。 8、人均店内停留时间(秒):所有访客的访问过程中,平均每次连续访问店铺的停留时间。 9、宝贝页浏览量:店铺宝贝页面被查看的次数,用户每打开或刷新一个宝贝页面,该指标就会增加。 10、宝贝页访客数:店铺宝贝页面的访问人数。所选时间段内,同一访客多次访问会进行去重计算。 11、宝贝页收藏量:用户访问宝贝页面添加收藏的总次数。 12、入店页面:单个用户每次浏览您的店铺时查看的第一个页面为入店页面。 13、出店页面:单个用户每次浏览您店铺时所查看的最后一个页面为出店页面。 14、入店人次:指从该页面进入店铺的人次。 15、出店人次:指从该页面离开店铺的人次。 16、进店时间:用户打开该页面的时间点,如果用户刷新页面,也会记录下来。 17、停留时间:用户打开本店最后一个页面的时间点减去打开本店第一个页面的时间点(只访问一页的顾客停留时间暂无法获取,这种情况不统计在内,显示为“—”)。 18、到达页浏览量:到达店铺的入口页面的浏览量。 19、平均访问时间:打开该宝贝页面到打开下一个宝贝页面的平均时间间隔。(用户访问该宝贝页后,未点击该页其他链接的情况不统计在内,显示为“—”) 20、全店宝贝查看总人次:指全部宝贝的查看人次之和。 21、搜索次数:在店内搜索关键词或价格区间的次数。

综合交易平台的UDP使用方法

Userapi使用方法 一、根据CThostFtdcUserSpi派生出客户端系统所需的回调接口类 1.必须重载的函数有:virtual void OnFrontConnected(); 当客户端与交易后台建立起通信连接时(还未登录前),该函数被调用,客户端可在此函数内实现登陆; 2.其它函数可以根据自己的业务需求重载 二、调用CThostFtdcUserApi::CreateFtdcUserApi创建userapi实例 1.函数原形: static CThostFtdcUserApi *CreateFtdcUserApi(const char *pszFlowPath = "", const bool bIsUsingUdp=false) 参数pszFlowPath:流文件的存放路径(用户自己创建),缺省为当前目录 参数bIsUsingUdp:为行情模式(交易实例该参数缺省或置为false),使用行情时,该参数缺省或置为false时为TCP行情,否则为UDP行情; 三、调用CThostFtdcUserApi的函数SubscribePrivateTopic注册共有流(行情)或私 有流(交易类、查询类) 函数原形:virtual void SubscribePrivateTopic(THOST_TE_RESUME_TYPE nResumeType) 参数nResumeType:私有流重传方式,取值为THOST_ TERT_RESTART-从本交易日开始重传、THOST_TERT_RESUME-从上次收到的续传、THOST_TERT_QUICK-只传送登录后私有流的内容; 四、调用CThostFtdcUserApi::RegisterFront注册交易或行情服务器 函数原形:virtual void RegisterFront(char *pszFrontAddress) 参数pszFrontAddress:交易或行情服务器的地址、端口号 特殊说明:pszFrontAddress格式:tcp://xxx.xxx.xxx.xxx:yyyy,对于行情,无论是tcp还是udp,都应该使用此格式,因为udp传输存在不可靠性,所以在登陆、订阅行情、接收第一次行情时时仍然使用tcp;并且不必为udp配置节点,udp仍然使用该地址和端口号; 五、创建CThostFtdcUserSpi派生类的实例 六、调用CThostFtdcUserApi::RegisterSpi回调接口类的实例 函数原形:virtual void RegisterSpi(CThostFtdcUserSpi *pSpi) 参数pSpi:回调接口类的实例 七、调用CThostFtdcUserApi::Init初始化运行环境,启动工作线程 函数原形:virtual void Init() 八、结束

互联网常见34个术语解释

互联网常见34个术语解释 之前花了点时间收集了一些互联网术语和解释,现在分享出来,给小伙伴们添堵添乱,哈哈:D!(1)DAU : daily active user,日活跃用户数量(2)MAU : 月活跃用户量(3)ARPU : (Average Revenue Per User)即每用户平均收入,用于衡量电信运营商和互联网公司业务收入的指标。(4)KPI :关键绩效指标法,是企业绩效考核的方法之一,其特点是考核指标围绕关键成果领域进行选取(5)MOU : 平均每户每月通话时间(minutesof usage)(6)OTT : “Over The Top”的缩写,是指通过互联网向用户提供各种应用服务。这种应用和目前运营商所提供的通信业务不同,它仅利用运营商的网络,而服务由运营商之外的第三方提供。目前,典型的OTT业务有互联网电视业务,苹果应用商店等。(7)CPC : 网络中最常见的一种广告形式,它是英文单词Cost Per Click 的缩写意思就是每次点击付费广告(8)CPM : Cost Per Mille,或者Cost Per Thousand;Cost PerImpressions,广告投放过程中,听到或者看到某广告的每一人平均分担到多少广告成本(9)CPA:每行动成本,Cost Per Action,指投放按广告实际效果,即按回应的有效问卷或定单来计费,而不限广告投放量。CPA的计价方式对于而言有一定的风险,但若广告投放成功,其收益也比CPM的计价方式要大

得多。广告主为规避广告费用风险,只有当网络用户点击旗帜广告,广告主网页后,才按点击次数付给广告站点费用。(10)CPR:每回应成本,Cost Per Response,以浏览者的每一个回应计费。这种广告计费充分体现了网络广告“及时反应、直接互动、准确记录”的特点,但是,这个显然是属于辅助销售的广告模式,对于那些实际只要亮出名字就已经有一半满足的品牌广告要求,大概所有的都会给予拒绝,因为得到广告费的机会比CPC还要渺茫。(11)CPP:每购买成本,Cost Per Purchase,广告主为规避广告费用风险,只有在网络用户点击旗帜广告并进行在线交易后,才按销售笔数付给广告站点费用。无论是CPA还是CPP,广告主都要求发生目标消费者的“点击”,甚至进一步形成购买,才予付费;CPM则只要求发生“目击”(或称“展露”、“印象”),就产生广告付费。(12)PFP:按业绩付 费,Pay-For-Performance(13)IP:“Intellectual Property”的缩写,即知识产权(14)ACG:为英文Animation、Comic、Game的缩写,是动画、漫画、游戏的总称。ACG文化的发源地是日本,以网络及其他方式传播。为华人社会常用的次文化词汇(日本并不使用这个词,在英语为主的国家里也并不普及)。(15)KOL:关键意见领袖(Key Opinion Leader,KOL)基本上就是在微博上有话语权的那些人。也是我们常说的微博红人之类的,这些人在一些行业可能是专业的,或

西藏电视剧

来源:新浪娱乐更新时间:2006年12月06日17:18:43点击数:1582 “十一假期到了,如果闲着,就打算看看电视。”一个远方的朋友在电话里对我说。真纳闷,年纪轻轻的她怎么会有这样的打算。作为她的朋友,她唯一的西藏朋友,只有给她推荐一些关于西藏的电视剧,即使是长假,也只有给她推荐电视连续剧了。 1994年《雪震》 1999年《西藏风云》 2000年《文成公主》 2001年《八瓣格桑花》 2002年《拉萨往事》 2004年《康定情歌》、《尘埃落定》 2005年《茶马古道》 2006年《格达活佛》 当然,收集的剧目可能不全,譬如清楚地记得很早的时候,有一部叫做《格萨尔王》的电视连续剧,可是因为编者能力有限没有找到相关资料,如果您有补充请留言。 最后在收集和整理信息的时候,发现一些有意思的东西,与这期专题也有一点关系,于是也就一同放在这里了,算作结语。“我算是比较熟悉藏区生活的,以前它给我的感受是神秘、古朴。但是,一个喇嘛的举止改变了我的观点。有一次我住在一个偏僻的村庄,我在一户农家喝茶时,有位喇嘛从我们中间穿过,他嘴里轻声说着‘Excuse me’声音非常绅士。当时我以为听错了,后来才知道他曾在纽约讲藏传佛教。就是这次,我心中对藏区那种荒凉、古朴的印象完全改变了。”拍摄《康定情歌》的导演对记者讲。 (藏人文化网根确扎西/文) 关于西藏的电视连续剧 《雪震》剧照

《雪震》相关书籍 12集电视剧《雪震》 制作单位:中央电视台成都军区政治部电视艺术中心 编剧:舒崇福都爱国 导演:杨韬舒崇福 摄影:刘飚 美工:陈玛瑛程林王宝瑞侯小兰 主要演员:杜志国多布吉曹培昌娟子边巴卓玛 时间 1994年 《雪震》简介:本片讲述的是,1951年人民解放军在西藏东部黑水地方争取当地头人贡布和当地藏人,消灭国民党残部的故事。相关历史,可参看《“陆上台湾”覆灭记》

百度API介绍

百度API介绍 来源:互联网 百度推广API包含哪些服务 百度推广API包括所有百度推广平台对外开放的API服务。目前已推出的服务有搜索推广API服务和网盟推广API服务。 百度推广API有什么优势 通过百度推广API,您可以设计新的百度推广管理方式。百度推广API具备如下特点: 1.定制:用户可以基于API搭建自己的应用程序,满足自身需求,实现更多个性化功能; 2.高效:一次API调用,可完成批量操作; 3.开放:API采用标准的Web/SOAP协议,接受主流开发语言。 百度推广API如何收费 使用百度推广API服务目前是免费的,但也不是无限制的。百度为API用户限定了使用配额,以更合理的分配资源。当用户的配额用完之后,在获得新分配的配额之前,用户将无法使用API提供的服务。 什么是百度搜索推广API 百度搜索推广API是百度推广API的一个子产品,搜索推广API服务是百度搜索推广系统对外开放的程序接口,开发人员能够基于百度搜索推广API开发应用程序,管理搜索推广的账户和广告,尤其是对大型、复杂账户的管理。 百度搜索推广API适用于谁 百度搜索推广API主要适用于百度搜索推广的大型广告客户和第三方。包括SEM(搜索引擎营销商)、代理机构和其他管理多个客户账户和/或大型广告系列的在线营销专家。由于使用百度推广API需要技术知识和编程技能以开发客户端程序,因此还需要广告客户或第三方具备编程知识或聘有开发人员。 申请百度搜索推广API需要具备哪些条件 百度搜索推广API主要面向大型客户和第三方,因此暂不对普通开发人员和用户开放。想要申请API的用户必须具备一定的账户规模和技术实力。百度会根据用户的账户累计投入、日均消费、关键词数量、配备的技术人员实力等因素进行综合评估,判断您是否具备申请API的条件。 您可以根据以下内容初步判断自己是否具备申请条件: 累计在百度续费3次以上; 账户累计投入RMB10万元以上; 账户日均消费RMB800元以上(数据期为最近1个月); 用户单位自身拥有2名以上的技术人员(精通任何一种支持Web服务的主流开发语言,如Java、PHP、C#等;精通Web服务相关的规范和协议:XML、SOAP、WSDL、XML Schema;精通一些Web服务测试工具,如SOATest、SoapUI),具备Web Service项目开发经验。 开通API以后收费吗 开通API以后您就可以使用API服务了,目前所有API服务都是免费的。

中国结算系统接口规格说明书

上海证券交易所技术文档 上海证券交易所 市场端软件使用和登录规范说明 V0.7 上海证券交易所 二○一六年九月

文档版本历史表

文档摘要 本文档是上海证券交易所市场端软件使用和登录规范说明 特别申明 ●本文档为本所市场端软件使用和登录规范说明,所涉相关业务规定以本所业 务规则为准。 ●本所保留对本文档的解释与修改权。 联系方式 如开发或测试中,出现问题,可与上交所技术服务热线进行联系。 联系电话:4009003600

目录 1简介 (6) 1.1本文目的 (7) 2软件使用和登录规范说明 (7) 2.1生产与测试环境号 (8) 2.2网络接入规范 (8) 2.2.1接入方式 (8) 2.2.2接入规范 (9) 2.3运行环境规范 (10) 2.4各平台业务软件规范 (10) 2.4.1竞价撮合平台 (10) 2.4.2综合业务平台 (11) 2.4.3沪港通平台 (11) 2.4.4期权平台 (11) 2.4.5债券业务平台 (11) 2.5软件变更规范 (12) 3软件使用规范 (12) 3.1报单类 (13) 3.1.1报盘子系统 (13) 3.1.2通用报盘软件 (14) 3.1.3固定收益报盘系统 (14) 3.2交易客户端类 (15) 3.2.1通用交易端软件 (15) 3.2.2固定收益交易端软件 (16) 3.3行情类 (16) 3.3.1行情接收客户端 (16) 3.4文件传输类 (17) 3.4.1通用文件传输软件 (17) 3.5工具类 (18) 3.5.1时间同步工具 (18) 3.5.2解密工具 (19) 3.5.3EzSTEP应急工具 (20) 3.5.4报盘子系统监控 (20)

最新淘宝之常用专业术语名词解释

淘宝常用名词解释 【基础统计类】 1、浏览量(PV):店铺各页面被查看的次数。用户多次打开或刷新同一个页面,该指标值累加。 2、访客数(UV):全店各页面的访问人数。所选时间段内,同一访客多次访问会进行去重计算。 3、收藏量:用户访问店铺页面过程中,添加收藏的总次数(包括首页、分类页和宝贝页的收藏次数)。 4、浏览回头客:指前6天内访问过店铺当日又来访问的用户数,所选时间段内会进行去重计算。 5、浏览回头率:浏览回头客占店铺总访客数的百分比。 6、平均访问深度:访问深度,是指用户一次连续访问的店铺页面数(即每次会话浏览的页面数),平均访问深度即用户平均每次连续访问浏览的店铺页面数。【月报-店铺经营概况】中,该指标是所选月份日数据的平均值。 7、跳失率:表示顾客通过相应入口进入,只访问了一个页面就离开的访问次数占该入口总访问次数的比例。 8、人均店内停留时间(秒):所有访客的访问过程中,平均每次连续访问店铺的停留时间。 9、宝贝页浏览量:店铺宝贝页面被查看的次数,用户每打开或刷新一个宝贝页面,该指标就会增加。 10、宝贝页访客数:店铺宝贝页面的访问人数。所选时间段内,同一访客多次访问会进行去重计算。 11、宝贝页收藏量:用户访问宝贝页面添加收藏的总次数。 12、入店页面:单个用户每次浏览您的店铺时查看的第一个页面为入店页面。 出店页面:单个用户每次浏览您店铺时所查看的最后一个页面为出店页面。 13、入店人次:指从该页面进入店铺的人次。 14、出店人次:指从该页面离开店铺的人次。 15、进店时间:用户打开该页面的时间点,如果用户刷新页面,也会记录下来。 16、停留时间:用户打开本店最后一个页面的时间点减去打开本店第一个页面的时间点(只访问一页的顾客停留时间暂无法获取,这种情况不统计在内,显示为“—”)。 17、到达页浏览量:到达店铺的入口页面的浏览量。 18、平均访问时间:打开该宝贝页面到打开下一个宝贝页面的平均时间间隔。(用户访问该宝贝页后,未点击该页其他链接的情况不统计在内,显示为“—”) 19、全店宝贝查看总人次:指全部宝贝的查看人次之和。 20、搜索次数:在店内搜索关键词或价格区间的次数。 【销售分析类】 1、拍下件数:宝贝被拍下的总件数。 2、拍下笔数:宝贝被拍下的总次数(一次拍下多件宝贝,算拍下一笔)。 3、拍下总金额:宝贝被拍下的总金额。 4、成交用户数:成功拍下并完成支付宝付款的人数。所选时间段内同一用户发生多笔成交会进行去重计算。 5、成交回头客:曾在店铺发生过交易,再次发生交易的用户称为成交回头客。所选时间段内会进行去重计算。 6、支付宝成交件数:通过支付宝付款的宝贝总件数。 7、支付宝成交笔数:通过支付宝付款的交易总次数(一次交易多件宝贝,算成交一笔)。 8、支付宝成交金额:通过支付宝付款的金额。 9、人均成交件数:平均每用户购买的宝贝件数,即人均成交件数 = 支付宝成交件数 / 成交用户数。 10、人均成交笔数:平均每用户购买的交易次数,即人均成交笔数 = 支付宝成交笔数 / 成交用户数。 11、当日拍下-付款件数:当日拍下、且当日通过支付宝付款的宝贝件数。 12、当日拍下-付款笔数:当日拍下、且当日通过支付宝付款的交易次数。 13、当日拍下-付款金额:当日拍下、且当日通过支付宝付款的金额。 14、客单价:客单价=支付宝成交金额/成交用户数。单日“客单价” 指单日每成交用户产生的成交金额。 15、客单价均值:指所选择的某个时间段,客单价日数据的平均值。如【月报】中,客单价均值=该月多天客单价之和/ 该月天数。 16、支付率:支付宝成交笔数占拍下笔数的百分比,即支付率 = 支付宝成交笔数 / 拍下笔数。 17、成交回头率:成交回头客占成交用户数的百分比。即成交回头率 = 成交回头客 / 成交用户数。 18、全店成交转化率:全店成交转化率=成交用户数/访客数。单日“全店成交转化率” 指单日成交用户数占访客数的百分比。 19、全店转化率均值,指所选择的某个时间段,全店成交转化率日数据的平均值。如【月报】中,全店转化率均值=该月多天转化率之和 / 该月天数。 20、促销成交用户数:参与宝贝促销活动的成交用户数。 21、宝贝页(促销)成交转化率:参与宝贝促销活动的成交用户数占宝贝页访客数的百分比。“按月”、“按周”查看报表时,该指标是所选时间段内日数据的平均值。 22、支付宝(促销)成交件数:买家参与宝贝促销活动产生的支付宝成交件数。 23、支付宝(促销)成交笔数:买家参与宝贝促销活动产生的支付宝成交笔数。 24、支付宝(促销)成交金额:买家参与宝贝促销活动产生的支付宝成交金额。 25、非促销成交用户数:未参与宝贝促销活动的成交用户数。 26、支付宝(非促销)成交件数:买家未参与宝贝促销活动产生的支付宝成交件数。 27、支付宝(非促销)成交笔数:买家未参与宝贝促销活动产生的支付宝成交笔数。 28、支付宝(非促销)成交金额::买家未参与宝贝促销活动产生的支付宝成交金额。 【直通车数据类】 字段名称简称含义 展现量pv 广告被展现的次数 点击量click/uv 广告被点击的次数 点击率ctr 点击量/展现量 消耗REV 直通车点击产生费

API简介及认证流程简述

API 详述 一、API认证简介: API是 American Petroleum Institute 即:“美国石油学会”的缩略语。API 组织成立于1919年。该组织根据行业的特点和行业内自身的需要。在1924年制定了API规范,对石油行业相关产品的生产进行了技术规范指导。由于API组织制定的API规范以其先进性、通用性、安全性以及美国石油产业在世界范围内的影响力不断扩大,API规范已经为世界各国广泛采用。因此,API组织原来意义上美国石油行业的学术组织,如今,已演变为跨越国界的石油行业权威学术组织。 二、API Spec Q1-2007第八版与ISO 9001:2000国际标准的联系 现行的API Spec Q1的全称是《石油、石化和天然气工业质量纲要规范》即:现行的(API Spec Q1第八版)。该版本以ISO9001:2000标准为基础。它是在ISO9001规范条款基础上增加石油、石化和天然气工业用的特殊补充要求。最新修订的API Spec Q1第八版将在今年6月15日开始实施。 三、API的产品标准 ISO 9001是质量管理体系认证国际标准;而API纲要规范作为质量体系认证标准外,根据行业中申请认证的企业所生产不同的产品,API组织还制定、颁发了有关石油设备54种产品的技术规范,作为产品认证的技术标准,与API Spec Q1相配套。 四、取得API认证和使用API标志的意义 在当今世界贸易市场上,由于采购石油设备的国际化,随之引发了质量保证和产品责任国际化的课题。采购方(顾客)从质量保障的角度出发,普遍要求石油设备生产厂商按照API规范进行生产制造,提供使用API标记的产品,另一方面,生产厂商从质量管理,满足顾客要求的角度出发,也普遍接受、使用API规范。在中国大陆,随着大量外资企业的涌入和石油设备出口的需要,API规范和标准在石油设备的生产行业中得到采用也日渐增多,尤其是中国加入“WTO”后,国内制造厂商开始瞄准国际石油设备这个大市场:而国际上采购商(顾客)对API会标产品充满信任,并且中国的供应商可以在价格上更具有竞争性,因此订购中国制造的石油设备空间就会变得越来越大。由此可见,作为一家石油设备的生产企业,越早取得API认证,给企业带来的商机、利益和好处就越多,取得API会标使用许可证,对石油设备的制造厂商的内在意义是: 1.有利于生产企业提高技术和质量水平 API组织发布的54种石油设备的技术规范,对各种产品所用的材料、规格和型号、试验、标 记、质量控制、储存和发运都作了明确的规定。这些规范充分体现了它们的合理性、先进性以及对产品安全性的要求。只要生产企业按照有关规范编制并保持相关的技术图样、工艺文件,并在生产全过程严格执行标准的要求,就能确保制造厂商生产的产品具有国际先进的水平。国际上的采购商对制造厂商有这样的要求,而国内的客户对制造厂商有如此的要求,也在日益增多。由此,我们不难发现:

上期技术综合交易平台(快期)

上期技术综合交易平台(快期): (使用该软件,请联系您的经纪人或开户人员申请开通) 安装软件后,在桌面生成图标: 双击该图标,输入您的账号与密码进入上期下单界面: 在该界面,点击“完成”直接进入下单界面;点击“下一步”则可以选择您

A区:自动刷新您的权益占用情况,无需手动刷新。在右侧灰色区域,右键单击鼠标,进行“表格列设置”,(也可通过“选项—选项设置—资金账户”操作)可以调整您希望及时动态显示的内容。 B区:您可以设置合约组或新增合约组,上图报价框中默认显示“合约组1”的合约列表。您可以直接在报价框右键选择“设置自选合约”,进行合约设置,也可以在工具栏“选项—选项设置—品种和合约—自选合约”对合约组与合约进行设置,如下图,其中红色框标注的“设置”可对合约组进行设置。 C区:分为报价表、报价块、合约列表 报价表:(根据下图的设置)在该栏目中,左键单击选择某合约的“买价”、“买量”、“跌停价”默认进行卖出选择,再点击“下单”即可发出委托;左键单击选择某合约的“卖价”、“卖量”、“涨停价”默认进行买入开仓选择,再点击“下单”即可发出委托。 左键双击上述相应模块,则直接发出委托,发出规则与单击一致。 (注:选择“买价”、“买量”、“卖价”、“卖量”默认的是对价跟盘价,“跌停价”默认的是跌停价发出委托,“涨停价”默认的是涨停价发出委托;)更改设置在:“选项—选项设置—鼠标快速下单” 下单价格调整2个价位,是朝更有利于成交的方向调整2个价位发出委托。 如果勾选“鼠标点击报价总是开仓”,则不会对老仓默认选择平仓操作。例:如果cu1008已经买开6手,鼠标再在行情列表点击“买价”时,默认选择卖出开

2017年交谊舞曲珍藏版(第一辑) 《绿色风暴》 《格桑花盛开的地方》 《唯舞独尊-歌伴舞1》8CD

2017年交谊舞曲珍藏版(第一辑)+《绿色风暴》+《格桑花盛开的地方》+《唯舞独尊-歌伴舞1》8CD 2017年交谊舞曲珍藏版(第一辑)+《绿色风暴》+《格桑花盛开的地方(舞曲版)》+《唯舞独尊-歌伴舞1》8CD专辑名称:2017年交谊舞曲珍藏版(第一辑)时尚美女快四舞曲CD1舞曲音质:WAV/320K发帖时间:2017.02.27专辑介绍本专辑收录开心就好老师近期制作流行美女快四交 谊舞曲16首。开心就好老师制作的舞曲明亮清脆、旋律优美,悦耳动听。专辑曲目01 快四-坏坏坏-金美琪&龙军02 快四-微信摇一摇-杨丽洁03 快四-别叫我宝贝-彩月团04 快四-就要你红-王蓉05 快四-跟我你不配-郭玲06 快四-另一半-吴芊兴07 快四-快抱抱-东方依依08 快四-负心的人你在哪里-媚儿菲菲09 快四-美女主播-叶子10 快四-女神也烦恼-郭一橙11 快四-这也不对那也不对-唯莎12 快四-意乱情迷-郭玲13 快四-别让眼泪轻易的落下-唐古14 快四-管他谁是谁-刘爽15 快四-红色大巴车-杨梓文祺16 快四-来生愿做一朵莲-魏新雨专辑名称:2017年交谊舞曲珍藏版(第一辑)王馨《爱情天注定》CD2舞曲音质:WAV/320K发帖时间:2016.03.07专辑介绍王馨,湖北籍,网络当红女歌手。2015年首发个人专辑《背叛的借口》,发行歌曲《想让雨滴问问你》等。本专辑收录开心就好老师制作的王馨部分主打歌曲

交谊舞曲。开心就好老师制作的舞曲明亮清脆、旋律优美,悦耳动听。专辑目录01 快四-爱情天注定-王馨02 吉特巴-今生爱你到永久-王馨03 摇并三步踩-草原你是我的郎-王馨04 快四-爱谁谁谁-王馨05 吉特巴-背叛的借口-王馨06 伦巴-想让雨滴问问你-王馨07 快四-青春不会老-王馨08 吉特巴-爱情对对碰-李青VS王馨09 自由步-天唱-王馨10 快四-风飞-王馨11 吉特巴-草原我灵魂回归的天堂-王馨12 并四-爱人-王馨13 快四-暖暖的幸福-王馨14 广场舞-爱情能耐-王馨15 吉特巴-我用相思等你-王馨16 慢摇-玩手机-王馨专辑名称:2017年交谊舞曲珍藏版(第一辑)《百听百醉-新鼓老甜歌》CD3舞曲音质:WAV/MP3发帖时间:2017.03.17专辑介绍经典甜歌新鼓演绎百听百醉纯美回忆本专辑收录开心就好老师近期制作的甜歌交谊舞曲16首。开心就好老师制作的舞曲明亮清脆、旋律优美,悦耳动听。专辑目录:01 摇并-无奈的思绪-韩宝仪02 吉鲁巴-少年爱姑娘-高胜美03 伦巴-为何欺骗我-杨丽珍04 慢三-什么叫作爱-陈思安05 摇并三步踩-是你辜负我-方怡萍06 并四-痴情的爱-韩宝仪07 吉鲁巴-我没有骗你-陈思安08 摇并-用生命所爱的人-陈小云09 国标探戈-昨夜星辰-高胜美10 伦巴-苏州河边-凤飞飞11 摇并-却走还留-林淑容12 慢伦巴-能不能留住你-陈思安13 并四-轻轻一声再见-李雅14 摇并-走在铁路旁-卓依婷15 伦巴-等你来带走我的心-杨钰莹16 慢三-冬恋-韩宝仪专

Win7API介绍

VISTA、Server 2008、Win7 等系统音频系统底层API Core Audio APIs的优势: Windows Vista、Windows 7、Windows server 2008等系统音频系统相比之前的系统有很大的变化,产生了一套新的底层API即Core Audio APIs。该底层API为高层API( 如Media Foundation(将要取代DirectShow等高层API)等)提供服务。相比之前版本的API有如下优势: 1. 具有低延时、故障恢复能力的音频流。 2. 提高可靠性( 将很多音频函数从核心态移到了用户态) 3. 提高了安全性(在安全的,低优先级别的线程处理被保护的音频内容) 4. 为单独的音频设备分配了特定的系统级别的规则(console, multimedia, communications) 。 5. 用户可以直接操作相应音频终端设备(Audio Endpoint Devices 如:扬声器、耳机、麦克风、CD播放器)的软件抽象。 Core Audio APIs在系统中的位置: Core Audio APIs的组成: 1. Multimedia Device (MMDevice) API 该API用于枚举系统中的音频终端设备(Audio Endpoint Devices)。告诉音频客户端程序有哪些音频终端设备以及它们的性能,并且为这些设备创建驱动实例(driver instances)。是最基本的Core Audio API,为其他三个API提供服务。 主要接口: IMMDeviceEnumerator 用来列举音频终端设备。 IMMDevice 代表一个音频设备(audio device)。 IMMEndpoint 代表一个音频终端设备(audio endpoint device),只有一个方法GetDataFlow,用来识别一个音频终端设备是一个输出设备(rendering device)还是一个输入设备(capture device)。

ctp综合交易平台下单字段分析

CTP综合交易平台下单字段分析 CTP综合交易平台下单字段分析2015-11-16 13:58 1126人阅读评论(0) 收藏举报版权声明:本文为博主原创文章,未经博主允许不得转载。///输入报单 struct CThostFtdcInputOrderField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; ///投资者代码 TThostFtdcInvestorIDType InvestorID; ///合约代码 TThostFtdcInstrumentIDType InstrumentID; ///报单引用 TThostFtdcOrderRefType OrderRef; ///用户代码 TThostFtdcUserIDType UserID; ///报单价格条件 TThostFtdcOrderPriceTypeType OrderPriceType;///市价 #define THOST_FTDC_OPT_AnyPrice '1' ///限价/条件单 #define THOST_FTDC_OPT_LimitPrice '2'

///最优价 #define THOST_FTDC_OPT_BestPrice '3' ///最新价 #define THOST_FTDC_OPT_LastPrice '4' ///最新价浮动上浮1个ticks #define THOST_FTDC_OPT_LastPricePlusOneTicks '5' ///最新价浮动上浮2个ticks #define THOST_FTDC_OPT_LastPricePlusTwoTicks '6' ///最新价浮动上浮3个ticks #define THOST_FTDC_OPT_LastPricePlusThreeTicks '7' ///卖一价 #define THOST_FTDC_OPT_AskPrice1 '8' ///卖一价浮动上浮1个ticks #define THOST_FTDC_OPT_AskPrice1PlusOneTicks '9' ///卖一价浮动上浮2个ticks #define THOST_FTDC_OPT_AskPrice1PlusTwoTicks 'A' ///卖一价浮动上浮3个ticks #define THOST_FTDC_OPT_AskPrice1PlusThreeTicks 'B' ///买一价 #define THOST_FTDC_OPT_BidPrice1 'C' ///买一价浮动上浮1个ticks #define THOST_FTDC_OPT_BidPrice1PlusOneTicks 'D'

上期CTP及上期所张江机房VIP交易通道简介-1ms极速交易通道

上期CTP交易软件及上期所张江机房VIP交易通道服务简介 打造1毫秒极速交易通道 1、CTP交易软件: 目前中大期货为投资者提供了CTP快期、CTP交易开拓者、CTP金字塔、CTP 闪电手、CTP闪电王、CTP文华赢智等期货交易终端。 2、CTP平台交易的上期技术机房服务器托管服务(数量有限): 提供上期所张江机房VIP交易通道服务,确保最大的交易机会。采用期货行业最先进的万兆全光纤网络解决方案,提供1ms极速交易接入!可以自主管理服务器,确保数据安全。 上期所张江机房服务器通过全万兆全光纤接入CTP平台并直接发送交易指令至交易所服务器,无需经过其他中转服务器,其报单和行情速度处于目前业内领先水平。 3、CTP平台简介 CTP综合交易平台是由上海期货信息技术有限公司(上海期货交易所的全资子公司)开发的期货交易平台,适合程序化交易软件运用和短线炒单客户使用。 CTP的优势 开放的API接口 开放性的接口给程序化交易者提供了直接接入交易后台的平台,客户可以自行开发或是寻求第三方技术帮助。此外,CTP使用开放性接口的程序化交易策略,采取编译后直接运行的模式,没有目前市面上多数软件普遍存在的时间延误。 高性能的交易后台 综合交易平台8000笔/秒处理速度的交易引擎,整套系统在0.5毫秒以内处理完成报单、成交全过程的资金持仓计算的能力,对撤单率极高的程序化交易策略提供了最强大的支持。 高速的交易所通信线路 综合交易平台通过千兆局域网接入中金所和上期所交易系统,通过三所联网主干接入大商所和郑商所。 风险提示:任何硬件、软件均存在发生差错的概率,若您的电脑无法登录CTP平台交易软件进行交易,请及时致电中大期货人工下单电话。

电子商务常用术语解释总结

电子商务常用术语解释总结 最近一直在关注电子商务网络商城运营方面的内容,电子商务的范围很宽泛,其中包括很多专业的数语,但对于中小企业和个人来说,不是所有的电子商务知识都适合自己。为了让朋友们更快的了解电子商务,下面我收集总结了一些常用的术语解释,希望对刚学习电子商务的朋友们有一些帮助。 一.电子商务常用术语解释 1.什么是电子商务 专业定义:以电子及电子技术为手段,以商务为核心,把原来传统的销售、购物渠道移到互联网上来,打破国家与地区有形无形的壁垒,使生产企业达到全球化,网络化,无形化,个性化、一体化。 简单的说,就是利用网络通信形式,达到买卖双方不谋面地进行的各种商业和贸易活动。2.什么是网上商城 网上商城类似于现实世界当中的商店,简单的理解就是在网上开的一个商店,产品通过图片的形式展示出来,可以用网上支付方式结算货款,送货时用快递进行。 3.什么是网上支付 是指交易双方在结算货款时,通过网上借助于网上第三方平台,实现资金转帐汇款的交易。如银行卡的网上银行功能,是顾客直接在网银确定对方帐号,确认支付密码,直接将款转到对方帐号实现网上转帐支付。如支付宝、财付通等第三方担保支付平台,顾客是先购买产品,然后确定支付后,将款转到支付宝网站代为保存,等收到商家货物后,在从支付宝中确认,支付宝将款打给商家完成支付。网上支付有很多种客户和商家之间可采用信用卡、电子钱包、电子支票和电子现金等多种电子支付方式进行网上支付,这种形式可以节省时间及减少手续费支出。 4.什么是B2B B2B是英文Business to Business(商家对商家)的缩写,是商家(泛指企业)对商家的电子 商务模式,即企业与企业之间通过互联网进行产品、服务及信息的交换。这些过程包括:发布供求信息,订货及确认订货,支付过程及票据的签发、传送和接收,确定配送方案并监控配送过程等。 国内目前比较知名的B2B网站综合类:阿里巴巴、慧聪网,网盛生意宝、环球资源网、中国制造网、中国网库、敦煌网等;垂直类:中国化工网等。

格桑花介绍

格桑花-青藏高原的精灵 格桑花生长在海拔4500米——5000米以上,属翠菊科,又叫波斯菊、八瓣梅、扫帚梅、朝鲜语(金达莱)、杜鹃花。 格桑花是藏语“格桑梅朵”翻译过来的,藏语“格桑”是幸福的意思,“梅朵”是花的意思。生长在西藏、青海、川西、滇西北那无边的大草原,被藏族乡亲视为象征着爱与吉祥的圣洁之花,是雪域高原幸福和爱情的象征也是西藏首府拉萨的市花。 格桑花是高原上最美的花,在很多藏族歌曲里都把勤劳美丽的姑娘比喻成格桑花,格桑花虽然美丽,但它随着季节变幻,颜色也会转变。夏天一般是白色,到了秋天就成了红色。格桑花在西藏随处可见,像守护神一样守护着高原的人们。 【格桑花精神】 格桑花比较广泛分布于北半球亚寒带至北温带的高山地区,极其耐寒,可以忍受零下50度的低温天气,虽然杆很纤细,花瓣也很小,给人弱不禁风的感觉。但风雨越大,它的生命力越顽强。 【格桑花经济和药用价值】 花色鲜艳、芳香四溢、活泼可爱,且花期可持续数月,因而具有极高的园艺观赏价值。 格桑花的药用价值和经济价值同样出色,格桑花的叶片可代茶饮用,具清热解暑效果,人称“药王茶或棍儿茶”;花入药可调经健胃、治牙痛;叶、果可提取栲胶;在高寒牧区,格桑花是优良且产量较高的牧草;格桑花植株在保水固土、围栏护堤方面的作用同样不可小视。

格桑花代表着藏民族的性格,代表着藏民族不屈不饶、顽强奋斗的精神。藏族人民千百年来世世代代繁衍生息在高原这片神奇的土地上,就像这格桑花一样,历经岁月的沧桑和风吹雨打,顽强屹立在美丽的雪域高原。 格桑花给今天的人们插上了思想的翅膀,鼓舞人们向巍巍雪山、滔滔江河、茫茫草原、飒飒冷风、凄凄苦雨等雪域的特殊地理环境与天气条件进行搏击,激励人们勇于在各种难以想象的艰难险阻中去争取更加美满幸福的生活。 爱美的藏民族 高原上流传的美容护肤品有:鲜奶油、草药汁、牦牛奶膏、鲜花汁、蜂蜜等十几种。其中,普遍受藏族妇女欢迎的便是牦牛奶膏,是用牛奶、水熬成的固体酱油状乌膏,这种护肤膏色黑味酸,取少许放于小碗内,加几滴水搅拌,然后均匀地涂在脸上,除眼圈和唇皮之外,满面化妆成乌黑。并且数日不卸,时而再涂几次,渐渐加厚,形成乌膏“面具”,长期上妆不卸的妇女,偶尔一洗脸,便见又白又嫩、白里透红,真是俊俏非凡。牦牛奶膏的主要功能为防晒护肤。因此藏族妇女,尤其那些农村牧区妇女至今仍喜欢使用它。 在脸上涂草药汁的藏族妇女草药汁是一种叫的垦查的野草熬成的护肤膏。每年夏季万物茂盛的时候,妇女们便纷纷背筐上山,采集垦查回家,剁成碎草放入锅中熬煮,熬到绿叶变黄,水呈茶色时,捞出其渣,将汤水继续熬成浆糊状后,即可使用。 垦查涂于面部,不仅防晒护肤,而且对于多血引起的红眼症患者及鼻炎、皮炎和雀斑等具有较高的疗效。深受广大妇女,尤其是中老年妇女欢迎的美容护肤佳品。

综合交易平台API技术开发指南

【综合交易平台API技术开发指南】 综合交易平台API技术开发指南 第一章CTP产品特性 (2) 第二章CTP-API技术基础 (4) 第三章CTP-API证券交易 (9) 模拟交易系统 (9) 证券交易实务 (9) 行情接口函数 (10) 交易接口函数 (10) 第四章CTP-API期货交易 (10) 模拟交易系统 (10) 期货交易实务 (11) 行情接口函数 (11) 交易接口函数 (11)

上海期货信息技术有限公司,2012 第1 页共18 页

【综合交易平台API技术开发指南】 第一章CTP产品特性 如何获取综合交易平台(Comprehensive Transaction Platform 以下简称CTP)证券(期货)交易及行情API发布包、文档以及开发实例? 【答: 2群(102497247)群共享中发布,请及时获取最新版本。CTP_API开发技术群均遵守实名制规则, 求的群成员将不定期予以清除。 CTP提供哪些证券(期货)投资者交易客户端软件? 【答:CTP向全市场免费开放投资者交易及行情API,并不提供任何投资者使用的交易客户端产品。目前市场上使用的客户端产品都由第三方厂商提供(基于免费开放的API 接入CTP) 手工交易客户端(如快期:https://www.wendangku.net/doc/3813308195.html,/)及程序化交易客户端(如盈佳: http://winnerfutures../) 请问国证券(期货)公司有哪些使用CTP系统? 【答: 一套或多套CTP次用系统) 家。 CTP期货公司主用系统用户:中国国际、华泰长城、海通期货、申银万国、上海中期、广发期货、恒泰期货、美尔雅期货、中证期货、华元期货、瑞龙期货、天鸿期货。 CTP期货公司次用系统用户:华西期货、华鑫期货、兴业期货、渤海期货、金源期货、宏源期货、新湖期货、国泰君安、东证期货、南华期货、浙商期货、银河期货、经易期货、 国金期货、方正期货、鲁证期货(新增) 纪期货(新增) CTP证券公司次用系统用户:华宝证券。

相关文档
相关文档 最新文档