解决方案 »

  1.   

    简单的讲就是使用openGL绘制光标与坐标轴,保证已绘制的数据不重绘。
      

  2.   

    简单说一下思路就行了,如何使用OpenGL或者GDI绘制光标与坐标轴,这些已经代码实现了谢谢各位的捧场。呵呵。。,。
      

  3.   

    不要使用内存DC有以下问题:
    1.GDI与OpenGL 混合使用有很多不兼容的地方,如开启了GDI支持,就不能再开启了OpenGL双缓存了
    2.中间使用了memDC性能开销很大,这点性能对我很重要麻烦各位再看看吧
      

  4.   

    我正在研究怎么用opengl画坐标轴呢
      

  5.   

    memDC没有马上销毁,导致GDI计数过高,性能低下
    没明确你的问题,是要一个解决方案吗,还是什么
      

  6.   


    原来采用的机制是:
    禁用OpenGL的双缓冲机制,开启GDI支持,传入内存DC,在内存DC上绘制图形,然后再在业务层进行光标与坐标轴的绘制。绘制完毕以后再提交到屏幕显示。如果要移动光标可以在内存DC上做掩码进行反转,再绘制新的光标。
    但是这些虽然能满足业务要求,但是消耗了性能。而且使用OpenGL与GDI混合编程也存在一定的兼容问题。
    所以不可取(最主要是消耗了性能)。您有任何更好的建议和方法吗?
      

  7.   


    hi,
    您说的方法很可取,但是存在几个技术问题:
    1.每次更新屏幕时都必须要制作问题,而且为了更好的兼容所有显卡,纹理必须要是2^n
    2.纹理在一些集显上有纹理大小限制,那么我必须要将屏幕获取的像素拆分为多个纹理进行保存,每次绘制完毕以后,还需要将纹理再贴到屏幕上。性能消耗更加严重。
    3.以上技术问题我都可以尽可能的解决,但是如何在纹理上进行绘制光标与坐标轴?在OpenGL中并没有提供一个可以在纹理上绘制图形的API,只有一个纹理替换的方法;关键是不能满足现在的业务场景。您是否有更好的方法?
      

  8.   

    发个你在做的demo给我,我看下有没有好的建议[email protected]
      

  9.   


    Demo是不能发的哦,问题都已说明了哦
    公司内部代码不能随便发的哦
      

  10.   


    Demo是不能发的哦,问题都已说明了哦
    公司内部代码不能随便发的哦
    不要代码,只要个exe的demo