3928|3

75

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求教wince6 R3环境silverlight开发 [复制链接]

目前在wince6 R3环境下开发Silverlight程序,计划采用DirectDraw作为2D加速方式。处理器为pxa310,是支持DirectDraw的2D硬件加速的。

按照msdn上的介绍配置好环境变量,SYSGEN_XAML_RUNTIME,BSP_XRPLUGIN_DDRAW and BSP_XRPLUGIN_OPENGL。在系统bin文件中也正确生成了xamlrenderplugin.dll,XRRendererDDraw.dll,ddraw.dll几个dll文件。

运行系统自带的DirectDraw四个测试程序,与GDI方式相比,运行方式明显加快,证明DirectDraw底层是可以正常工作的。但是在运行Silverlight程序时,通过调试语句发现,程序可以正常调用底层的lcd驱动,但是速度却始终上不去,只有1帧,而GDI方式的绘图,速度可以达到5帧左右。网上看到有6410跑Silverlight自带的四个图标旋转的例子可以跑到30多帧,我这个速度怎么都上不去,郁闷啦,请知道的大侠赐教啊。

我现在的改动只有上面的环境变量和添加系统DirectDraw模块。还有就是修改了系统驱动halsurf.cpp文件里的HalCanCreateSurface函数,在这个函数一开始就直接return ok。

DWORD WINAPI HalCanCreateSurface( LPDDHAL_CANCREATESURFACEDATA pd )
{
    LPDDSURFACEDESC surf_desc = pd->lpDDSurfaceDesc;
    DDPIXELFORMAT* format = &surf_desc->ddpfPixelFormat;
    int caps = surf_desc->ddsCaps.dwCaps;
    SA2VideoSurf* primary_surf = (SA2VideoSurf*)GetDDGPE()->DDGPEPrimarySurface();

    // default to not support
    pd->ddRVal = DD_OK;//DDERR_UNSUPPORTEDFORMAT;
        NKDbgPrintfW(TEXT("qiandj--HalCanCreateSurface\r\n"));
        return DD_OK;//DDHAL_DRIVER_HANDLED;
        NKDbgPrintfW(TEXT("qiandj--never here\r\n"));
   
    // 余下的省略
}

最新回复

建议去微软官网去找找答案吧 http://social.microsoft.com/Forums/zh-CN/windowsembeddedcezhchs/threads  详情 回复 发表于 2010-1-21 16:13
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
没弄过, 关注下.
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
也在为SILVERLIGHT技术速度上不去而苦恼!!!!
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

4
 
建议去微软官网去找找答案吧
http://social.microsoft.com/Forums/zh-CN/windowsembeddedcezhchs/threads
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表