在寻找替代GDI的替代方案时,我试图在Windows 7中测试Delphi的2010 TDirect2DCanvas性能.
我通过使用Direct2D绘制一条巨大的折线来测试它,结果非常慢,即使数据量少于我使用GDI进行相同测试的数量少500倍(我甚至没有在GDI中使用位图作为后备缓冲,我只是直接绘制到表单画布).
所以我想:
a) Direct2D比GDI慢;
b) TDirect2DCanvas很慢;
c)我做错了什么
,希望它是c).
我写的测试代码是:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Direct2D, D2D1;
type
TForm2 = class(TForm)
private
{ Private declarations }
FD2DCanvas: TDirect2DCanvas;
FData: array[0..50000] of TPoint;
public
procedure CreateWnd; override;
procedure WMSize(var Message: TWMSize); message WM_SIZE;
procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses utils;
{$R *.dfm}
procedure TForm2.CreateWnd;
var
i: Integer; …Run Code Online (Sandbox Code Playgroud) 我想使用NDK(本机开发工具包)为android构建一些本机库,但我想使用Visual Studio 2010来完成它.我已经google了很多但没有找到任何相关信息.有没有人有这方面的经验,并知道实现这一目标所需的步骤?我安装了CYGWin,确保我得到Make(根据NDK指令),但我不确定在设置项目,Visual Studio中的编译器等方面的后续步骤.
如果有人知道任何文章,教程或示例项目的链接,这将是非常棒的,因为谷歌还没有太多.
谢谢!
我最近阅读了Lua共同创作者Luiz H. de Figueredo和Roberto Ierusalimschy的采访,他们在那里讨论了Lua的设计和实现.至少可以说是非常有趣的.然而,讨论的一部分在我的脑海中带来了一些东西.Roberto称Lua是一个" 独立应用程序 "(也就是说,它是纯粹的ANSI C,它不使用操作系统.)他说,Lua的核心是完全可移植的,并且因为它的纯度已经能够移植很多更容易和甚至从未考虑过的平台(例如机器人和嵌入式设备).
现在这让我很奇怪.C一般来说是一种非常便携的语言.那么,C的哪些部分(即标准库中的部分)是最不可移植的?什么是可以预期在大多数平台上工作的?是否应该只使用一组有限的数据类型(例如避免short和可能float)?怎么样FILE和stdio系统?malloc和free?似乎Lua避免了所有这些.这会把事情发挥到极致吗?或者它们是可移植性问题的根源?除此之外,还有什么其他方法可以使代码非常便携?
我问这一切的原因是因为我目前正在用纯C89编写一个应用程序,并且它最好是尽可能便携.我愿意采取一条中间路来实现它(足够便携,但没有那么多,我必须从头开始编写所有内容.)无论如何,我只想看看编写最好的C代码的关键.
最后,所有这些讨论仅与C89有关.
好吧问题就是这样,
我知道函数Line(),它在两点之间绘制线段.
我需要画线而不是线段,也使用线段的两个点.
[EN:根据之前发布的问题编辑,作为问题的答案]
我使用了你的解决方案,它在水平线上表现不错,但我在垂直线上仍然遇到问题.
例如,下面是使用点[306,411]和[304,8](紫色)和绘制线(红色)在600x600像素的图像上的示例.你有提示吗?
考虑到我对Web开发并不陌生,我觉得这些基本问题很尴尬.但我想仔细检查我的假设......
我正在我的应用程序中构建独特图像视图的录制.当用户(不是机器人)访问图像页面时,会对后端进程进行Ajax调用,该进程收集会话信息,比较重复并存储访问.我有所有的javascript引用以及HTML底部的调用,就在</body>元素之前:
$.get(basepath + "image/1329/record/human", function(data){
console.log("Data Loaded: " + data);
});
Run Code Online (Sandbox Code Playgroud)
默认情况下,对$ .get的调用是异步的.但我想测试以下假设:
我正在尝试使用jQuery的$ .ajax()函数将表单变量发布到MVC路由.问题是,当代码命中我的MVC操作时,即使数据传递给它们,所有参数都为null:
jQuery的:
$(function () {
$('#signupform').submit(function (e) {
e.preventDefault();
if ($(this).valid()) {
var postData = '{name : "' + $("#Name").val() + '", email : "' + $("#Email").val() + '", message : "' + $("#Message").val() + '" }';
$.ajax({
url: "/api/contact-form-post",
data: postData,
type: "get"
})
.complete(function (data) {
$("#formContainer").html($("#formThankYou").html());
});
}
});
});
Run Code Online (Sandbox Code Playgroud)
调用alert(postData)输出以下内容:
{name : "Scott Smith", email : "scott@smith.com", message : "test message" }
Run Code Online (Sandbox Code Playgroud)
MVC行动:
public JsonResult ContactFormPost(string email, string name = "" , string message = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用MARS模拟器自己学习MIPS汇编语言.
出于教学原因,我限制自己不使用伪指令.
在尝试将某些数据的地址放入寄存器时,我遇到了一个问题,因为我无法使用la.
我尝试lui结合使用ori,就像我直接加载一个数字一样,无济于事:
.data
arr:
.byte 0xa1
.byte 0xb2
.byte 0xc3
.byte 0xd4
.byte 0xe5
.byte 0xf6
.byte 0x7a
.byte 0x8b
.byte 0x9c
.byte 0xad
.text
lui $s0, mem # <--- mars just gives me errors here :(
ori $s0, mem # ?? ...
Run Code Online (Sandbox Code Playgroud)
这是否可以使用专门的MARS,没有伪指令?怎么样?
提前致谢!
我是C++编程的新手,但这个问题一直在旋转.我知道在函数中返回对局部变量的引用是非法的,即编译此代码片段:
inline int& funref() {
int a = 8;
return a; // not OK!
}
Run Code Online (Sandbox Code Playgroud)
导致编译器发出警告,然后发生运行时错误.但是,为什么这段代码在没有任何警告的情况下编译并运行没有错误?
inline int& funref() {
int a = 8;
int& refa = a;
return refa; // OK!
}
int main() {
int& refa = funref();
cout << refa;
}
Run Code Online (Sandbox Code Playgroud)
我的编译器是Linux Fedora平台上的g ++.