同上。

解决方案 »

  1.   

    首先一个问题,有必要吗?据我所知,这并不能提高效率。我曾经试过这么一个程序,就是在一个设备上画一个单色的方框,是逐点的绘制,不是用填充或者矩形的函数,我试了三种方式,用VB的循环和画点函数、用VB的循环和API的画点函数和完全用VC去作,当然,因为我对dx不熟悉,所以没有使用DirectX去作,但在这次试验中,我发现3种方式(每一次绘制都重复若干次)基本没有诧异,有的一点点,也可以算作是试验的误差(因为我重复的次数很多,每一次耗时都在10几秒以上),这意味着一点,VB的代码优化对于一些最基本的情况已经作的非常好,我们所需要注意的应该是具体的算法上。所以,真的不建议在这方面下功夫。如果真的需要的话,你可以查查MSDN中关于图形绘制方面的资料。
      

  2.   

    用Dependency Walker追踪了一下,发现用了下面这些中的一个或几个,具体是哪些,追起来太头痛(原谅我吧):AbortDoc
    Arc
    BeginPath
    BitBlt
    CloseEnhMetaFile
    CloseMetaFile
    CombineRgn
    CopyEnhMetaFileA
    CopyMetaFileA
    CreateBitmap
    CreateBrushIndirect
    CreateCompatibleBitmap
    CreateCompatibleDC
    CreateDCA
    CreateDIBSection
    CreateDIBitmap
    CreateEllipticRgnIndirect
    CreateEnhMetaFileA
    CreateFontIndirectA
    CreateHalftonePalette
    CreateHatchBrush
    CreateICA
    CreateMetaFileA
    CreatePalette
    CreatePatternBrush
    CreatePen
    CreatePenIndirect
    CreateRectRgn
    CreateRectRgnIndirect
    CreateRoundRectRgn
    CreateSolidBrush
    DeleteDC
    DeleteEnhMetaFile
    DeleteMetaFile
    DeleteObject
    Ellipse
    EndDoc
    EndPage
    EndPath
    EnumFontsA
    EqualRgn
    Escape
    ExcludeClipRect
    ExtCreateRegion
    ExtSelectClipRgn
    ExtTextOutA
    GetBitmapBits
    GetBkColor
    GetClipBox
    GetCurrentObject
    GetDIBits
    GetDeviceCaps
    GetEnhMetaFileHeader
    GetMapMode
    GetNearestColor
    GetObjectA
    GetObjectType
    GetPaletteEntries
    GetPixel
    GetROP2
    GetStockObject
    GetSystemPaletteEntries
    GetTextColor
    GetTextExtentPoint32A
    GetTextExtentPointA
    GetTextMetricsA
    GetViewportExtEx
    GetWindowExtEx
    GetWindowOrgEx
    IntersectClipRect
    LPtoDP
    LineTo
    MoveToEx
    OffsetRgn
    OffsetWindowOrgEx
    PatBlt
    PathToRegion
    Pie
    PlayEnhMetaFile
    PlayMetaFile
    PtInRegion
    RealizePalette
    Rectangle
    ResetDCA
    RestoreDC
    RoundRect
    SaveDC
    ScaleViewportExtEx
    ScaleWindowExtEx
    SelectClipRgn
    SelectObject
    SelectPalette
    SetAbortProc
    SetBkColor
    SetBkMode
    SetBrushOrgEx
    SetDIBColorTable
    SetMapMode
    SetPixelV
    SetROP2
    SetRectRgn
    SetStretchBltMode
    SetTextAlign
    SetTextColor
    SetViewportExtEx
    SetViewportOrgEx
    SetWindowExtEx
    SetWindowOrgEx
    StartDocA
    StartPage
    StretchBlt
    StretchDIBits
    TextOutA
    TranslateCharsetInfo
    UnrealizeObject
    WidenPath
    EnumEnhMetaFile
    EnumFontFamiliesExA
    EnumMetaFile
    GetBitmapDimensionEx
    GetEnhMetaFileBits
    GetEnhMetaFilePaletteEntries
    GetGraphicsMode
    GetMetaFileBitsEx
    GetTextFaceA
    GetTextFaceW
    GetTextMetricsW
    GetWinMetaFileBits
    OffsetViewportOrgEx
    PlayEnhMetaFileRecord
    PlayMetaFileRecord
    SetBitmapBits
    SetBitmapDimensionEx
    SetDIBits
    SetEnhMetaFileBits
    SetMetaFileBitsEx
    SetWinMetaFileBits