我有IDirect3DSurface9,默认池,YUV格式.我怎样才能有效地从中获取位图位?目前我:
device->CreateRenderTarget(surf_desc.Width, surf_desc.Height, D3DFMT_A8R8G8B8, D3DMULTISAMPLE_NONE, 0, TRUE, &render_target, NULL)device->StretchRect(videomem_surf, NULL, render_target_, NULL, D3DTEXF_NONE)device->CreateOffscreenPlainSurface(surf_desc.Width, surf_desc.Height, D3DFMT_A8R8G8B8, D3DPOOL_SYSTEMMEM, &sysmem_offscreen_surf, NULL)device->GetRenderTargetData(render_target, sysmem_offscreen_surface)这看起来有点开销,因为有很多复制:从原始表面到渲染目标,然后到屏幕外表面,再到兼容位图,最后到我的缓冲区.如何改进?
谢谢
class Temp {
public :
Temp(X& x): x_(x) {}
Temp(X& x, Y& y) : x_(x), y_(y) {}
...
private:
X& x_;
Y& y_;
}
Run Code Online (Sandbox Code Playgroud)
我得到了错误,因为如果Temp(X& x): x_(x)引用y_没有初始化.正确编写这样一个类的常见做法是什么?
我有一个python脚本调用基于USB的数据采集C#dotnet可执行文件.主要的python脚本做了许多其他的事情,例如它控制步进电机.我们想检查各种操作的相对时间,为此目的,dotnet exe生成一个带有来自C#Stopwatch.GetTimestamp()的时间戳的日志,据我所知,它产生与调用win32 API QueryPerformanceCounter()相同的数字.
现在我想从python脚本中获得类似的数字.time.clock()返回这样的值,不幸的是它将第一次调用时获得的值减去time.clock().我怎么能绕过这个?从一些现有的python模块调用QueryPerformanceCounter()是否容易,或者我是否必须在C中编写自己的python扩展?
我忘了提及,Tim Golden的python WMI模块做到了这一点:wmi.WMI().Win32_PerfRawData_PerfOS_System()[0] .Timestamp_PerfTime,但它太慢了,开销大约48ms.我需要一些<= 1ms的开销.time.clock()似乎足够快,就像c#Stopwatch.GetTimestamp()一样.
TIA,Radim
我有一个SQL脚本,它将一个外键添加到表中,如下所示.
ALTER TABLE [security].[Pages] WITH NOCHECK
ADD CONSTRAINT [FK_Pages_PageClasses] FOREIGN KEY ([PageClassId]) REFERENCES [security].[PageClasses]([PageClassId]) ON DELETE NO ACTION ON UPDATE NO ACTION;
Run Code Online (Sandbox Code Playgroud)
有时表已有此外键,因此从Management Studio运行时会显示错误.是否可以在应用密钥之前添加查询以检查密钥是否存在?有一个更好的方法吗?这必须适用于MS SQL 2005和2008.
嗨,
我在我的ASP.NET MVC网站上使用EntityFramework但是在更新时遇到了一些问题.
这是我的更新代码的样子:
using (BissEntities context = new BissEntities())
{
if (adCategoryFilter.Id < 1)
context.AddToAdCategoryFilter(adCategoryFilter);
else
context.Refresh(System.Data.Objects.RefreshMode.ClientWins, adCategoryFilter);
if (context.SaveChanges() > 0)
return true;
}
return false;
Run Code Online (Sandbox Code Playgroud)
执行context.Refresh时,我得到以下异常:
要刷新的对象集合中索引0处的元素具有null EntityKey属性值,或者未附加到此ObjectStateManager.
Stacktrace : at System.Data.Objects.ObjectContext.RefreshCheck(Dictionary`2 entities, Object entity, EntityKey key)
at System.Data.Objects.ObjectContext.AddRefreshKey(Object entityLike, Dictionary`2 entities, Dictionary`2 currentKeys)
at System.Data.Objects.ObjectContext.RefreshEntities(RefreshMode refreshMode, IEnumerable collection)
at System.Data.Objects.ObjectContext.Refresh(RefreshMode refreshMode, Object entity)
at Biss.Models.FilterModel.UpdateCategoryFilter(AdCategoryFilter adCategoryFilter) in C:\Users\Snowman\Documents\Visual Studio 2010\Projects\Biss\Biss\Models\FilterModel.cs:line 86
Run Code Online (Sandbox Code Playgroud)
这不是我第一次遇到这个问题.首先,我认为它可能与数据库中的关系有关,但在从受影响的表中删除之后,仍然存在相同的异常.
adCategoryFilter来自哪里?
adCategoryFilter是instansiated(新),然后填充ViewObject(来自网站)的数据.它确实具有所需的数据,如过滤器ID(将过滤器映射到db中的正确行).
请求解释为什么我会遇到这个问题以及如何解决它.
最好的祝福
如果我有以下通用接口:
public interface IValidator<T>
{
Boolean IsValid(T entity_);
}
Run Code Online (Sandbox Code Playgroud)
我可以用以下方式使用它吗?这是针对面向对象编程指南吗?
public PathValidator : IValidator<String>
{
}
Run Code Online (Sandbox Code Playgroud) 在Windows窗体应用程序中,下拉选择器列表还为用户提供了在同一字段中键入备用值的选项(假设开发人员已在控件上启用此选项.)
如何在HTML中实现这一目标?看起来好像只能从列表中选择值.
如果使用直接HTML无法做到这一点,有没有办法用Javascript做到这一点?
我正在努力完成这样的事情,
var data = from p in db.Projects
select new
{
Cost = p.CostReports.FirstOrDefault().Charged,
Tax = Cost * 0.25
};
Run Code Online (Sandbox Code Playgroud)
换句话说,我想使用Cost作为变量.可能吗?如果是这样,怎么样?
我的代码只是一个例子,我正在研究的项目有点复杂.
编辑:
我希望这是我想要做的更好的例子,
var data = (from p in db.Projects
select new
{
Name = p.ProjectName,
Customer = p.CustomerID,
Cost = p.Cost
}).GroupBy(p => p.Customer)
.Select(g => new
{
Something = g.Where(p => p.Customer == g.Key).Sum(p => p.Cost),
SomethingElse = Something * 0.25
});
Run Code Online (Sandbox Code Playgroud) 我有几个 zip 文件需要在 Ant 目标中解压缩。所有 zip 文件都在同一目录中,并且具有相同的内部目录和文件结构。
因此,我使用以下代码段来解压缩目录中的所有 zip 文件,但每个 zip 文件的根目录都不包含父文件夹,因此每个后续 zip 文件都被解压缩并覆盖之前的文件。
<unzip dest="C:/Program Files/Samsung/Samsung TV Apps SDK/Apps">
<fileset dir=".">
<include name="**/*.zip"/>
</fileset>
</unzip>
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来解压缩一组文件,并根据 zip 文件名创建一个目录来解压缩它们?
因此,如果 zip 文件是:
1.zip
2.zip
3.zip
Run Code Online (Sandbox Code Playgroud)
然后每个的内容将被提取到:
1/
2/
3/
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在尝试实现一个安全版本的std :: shared_ptr,称为"safe_ptr",它保证了"非nullness".
编辑:删除了问题.如果感兴趣,请参见编 向感兴趣的人发布最终解决方案:
此代码现在托管在Google代码上.
#pragma once
#include <memory>
#include <type_traits>
#include <exception>
template<typename T>
class safe_ptr
{
template <typename> friend class safe_ptr;
public:
typedef T element_type;
safe_ptr() : impl_(std::make_shared<T>()){}
safe_ptr(const safe_ptr<T>& other) : impl_(other.impl_){}
template<typename U>
safe_ptr(const safe_ptr<U>& other, typename std::enable_if<std::is_convertible<U*, T*>::value, void*>::type = 0) : impl_(other.impl_){}
template<typename U>
safe_ptr(const U& impl, typename std::enable_if<std::is_convertible<typename std::add_pointer<U>::type, T*>::value, void>::type* = 0)
: impl_(std::make_shared<U>(impl)) {}
template<typename U, typename D>
safe_ptr(const U& impl, D dtor, typename std::enable_if<std::is_convertible<typename std::add_pointer<U>::type, T*>::value, void>::type* …Run Code Online (Sandbox Code Playgroud) c# ×3
c++ ×2
.net ×1
.net-4.0 ×1
ant ×1
api ×1
asp.net-mvc ×1
c++11 ×1
constructor ×1
direct3d ×1
direct3d9 ×1
directx ×1
generics ×1
html ×1
interface ×1
javascript ×1
linq ×1
pointers ×1
python ×1
rendertarget ×1
select ×1
sql-server ×1
winapi ×1