我有一个"软件渲染器",我从PC移植到iPhone.使用iphone上的像素缓冲区手动更新屏幕的最快方法是什么?例如在Windows中,我发现的最快的功能是SetDIBitsToDevice.
我对iphone或库不太了解,似乎有很多层和不同类型的UI元素,所以我可能需要大量的解释......
现在我只是不断更新opengl中的纹理并将其渲染到屏幕上,我非常怀疑这将是最好的方法.
更新:
我试过openGL屏幕大小的纹理方法:
我得到了17fps ......
我使用了512x512纹理(因为它需要是2的幂)
只是呼唤
glTexSubImage2D(GL_TEXTURE_2D,0,0,0,512,512,GL_RGBA,GL_UNSIGNED_BYTE, baseWindowGUI->GetBuffer());
Run Code Online (Sandbox Code Playgroud)
似乎对所有减速都负有责任.
评论它,并留下我所有的软件渲染GUI代码,以及现在非更新纹理的渲染,导致60fps,30%的渲染器使用,并且没有来自cpu的显着尖峰.
请注意,GetBuffer()只是返回一个指向GUI系统软件后台缓冲区的指针,无论如何都没有重新调整缓冲区或调整缓冲区大小,它的大小和格式都适合于纹理,所以我很确定减速有与软件渲染器无关,这是个好消息,看起来如果我能找到一种方法在60点更新屏幕,软件渲染应该暂时起作用.
我尝试使用512,320而不是512,512进行更新纹理调用,这奇怪甚至更慢......以10fps运行,也表示渲染利用率仅为5%,并且在openGLES内调用Untwiddle32bpp时所有时间都被浪费了.
我可以将我的软件渲染更改为原生渲染为任何pixle格式,如果它会导致更直接的blit.
fyi,在2.2.1 ipod touch G2上测试(就像类固醇上的Iphone 3G一样)
更新2:
我刚刚写完了CoreAnimation/Graphics方法,它看起来不错,但是我有点担心它如何更新每一帧的屏幕,基本上抛弃旧的CGImage,创建一个全新的...在'someRandomFunction中查看它'下面:这是更新图像的最快方式吗?任何帮助将不胜感激.
//
// catestAppDelegate.m
// catest
//
// Created by User on 3/14/10.
// Copyright __MyCompanyName__ 2010. All rights reserved.
//
#import "catestAppDelegate.h"
#import "catestViewController.h"
#import "QuartzCore/QuartzCore.h"
const void* GetBytePointer(void* info)
{
// this is currently only called once
return info; // info is a pointer to the buffer
}
void ReleaseBytePointer(void*info, const void* pointer)
{
// don't …Run Code Online (Sandbox Code Playgroud) 我的应用程序不再连接到其数据库,并且 phpmyadmin 说 #1129 - 由于许多连接错误,主机“xxx.xx.xx.xx”被阻止;使用 'mysqladminlush-hosts' 解除阻止
mysql_error() 打印出相同的消息。难道是因为连接太多了?
这是什么原因造成的?
我已经看到一些关于这个的喋喋不休,但没有什么明确的.有没有办法将TabWidget中的标签放到屏幕底部?如果是这样,怎么样?
我尝试了以下,但没有奏效:
a)在tablayout下面设置tabwidget
b)将tabwidget的引力设置为"bottom"
谢谢!llappall
假设你正在调用一个函数,为了便于阅读,显然需要将语句分解为几行.但是至少有两种方法可以做到:
你会这样做:
return render(request, template,
{
'var1' : value1,
'var2' : value2,
'var3' : value3
}
)
Run Code Online (Sandbox Code Playgroud)
或者你愿意这样做:
return render \
(
request, template,
{
'var1' : value1,
'var2' : value2,
'var3' : value3
}
)
Run Code Online (Sandbox Code Playgroud)
或者,请建议您自己的格式.还请列出为什么要使用特定格式以及另一个格式有什么问题的原因.
谢谢
我正在使用haystack和whoosh作为Django app的后端.
有没有办法查看whoosh生成的索引的内容(以易于阅读的格式)?我想看看哪些数据被编入索引,以及如何更好地理解它是如何工作的.
使用Subversion,在我的工作副本中我做了一个小修改(更新版本号).然后我想标记我的工作副本.这个标签仍然是修改的廉价副本,还是SVN会复制文件?我不愿看到我的存储库大小变大,因为我正在尝试保存版本号更改.
我要求创建包含修改而不是提交然后标记的标记的原因涉及我的构建服务器.构建服务器创建一个CCNetLabel,我用它来更新我的项目的版本号(AssemblyInfo.cs).构建成功后,它会创建一个标记.当我使用ForceBuild时,标记基于工作副本,该副本将包含修改后的版本号.我希望标签包含适当的版本号.
注意:如果我正在创建分支或标记,那么这是有争议的,但是SVN并没有区分这两者.
我不明白"提升"是什么.在了解"电梯"是什么之前我应该先了解单子吗?(我对monads也完全无知:)或者有人可以用简单的词语向我解释一下吗?
我在Delphi 7中编写了一个asm函数,但它将我的代码转换为其他代码:
function f(x: Cardinal): Cardinal; register;
label err;
asm
not eax
mov edx,eax
shr edx, 1
and eax, edx
bsf ecx, eax
jz err
mov eax, 1
shl eax, cl
mov edx, eax
add edx, edx
or eax, edx
ret
err:
xor eax, eax
end;
// compiled version
f:
push ebx // !!!
not eax
mov edx,eax
shr edx, 1
and eax, edx
bsf ecx, eax
jz +$0e
mov eax, 1
shl eax, cl
mov edx, eax
add edx, …Run Code Online (Sandbox Code Playgroud) 我想从java Web应用程序中读取文件.我不想给出文件的绝对路径.我只想将文件放在我的Web应用程序的某个目录中.
要么
它可以与.war文件(打包的Web应用程序)一起放置.
给文件的相对路径是什么.我试过./filename.csv但它没用.
========
我将向WAR我的客户端提供一个文件(打包的Web应用程序).此Web应用程序将读取一个文件(假设SuppliedFile.csv),该文件将由客户端复制到服务器.所以我需要一种机制(无论应用程序服务器是否会打开它都能工作WAR),以便Web应用程序可以读取该文件.
注意:
我没有SuppliedFile.csv在servlet中使用...我在普通的Java类中使用它...
我NSURLRequest在我的iPhone应用程序中使用该类,并且调用它的方法返回一个NSString很好的连接通过正常,但问题是我需要将NSError转换为NSString所以我可以将其返回或if()对它进行一些陈述.
有任何想法吗?:)
python ×2
android ×1
assembly ×1
basm ×1
branch ×1
coding-style ×1
delphi ×1
delphi-7 ×1
formatting ×1
haskell ×1
iphone ×1
java ×1
mysql ×1
nserror ×1
nsstring ×1
objective-c ×1
phpmyadmin ×1
readability ×1
rendering ×1
svn ×1
tabwidget ×1
tags ×1
whoosh ×1
working-copy ×1
x86 ×1