问题列表 - 第44390页

如何在使用Android的GLSurfaceView.RENDERMODE_CONTINUOUSLY时限制帧率?

我有一个在Android中运行JNI的C++游戏.由于场景复杂性,帧速率从大约20-45fps变化.任何高于30fps的东西对于游戏都是愚蠢的; 它只是燃烧电池.我想将帧速率限制为30 fps.

  • 我可以切换到RENDERMODE_WHEN_DIRTY,并使用Timer或ScheduledThreadPoolExecutor来requestRender().但这增加了一大堆额外的移动部件,这些部件可能会或可能不会始终正确地工作.
  • 当事情快速运行时,我尝试注入Thread.sleep(),但这对于小时间值似乎根本不起作用.它可能只是将事件支持到队列中,而不是实际上暂停.

是否有隐藏在API中的"capFramerate()"方法?有任何可靠的方法吗?

android opengl-es

21
推荐指数
2
解决办法
3万
查看次数

php参考与价值

  class Test {
      private $arr;
      function __construct() {
          $this->arr = array('test');
      }

      function getArr() {
          return $this->arr;
      }
  }
  $a = new Test();
  $b = $a->getArr();
  $b[0][0] = 'a';
  $s = $a->getArr(); 
  echo $s[0]
Run Code Online (Sandbox Code Playgroud)

为什么这是echo测试而不是aest?返回时,PHP是否复制数组和数组的内容?如何获得一个数组,我可以在其中更改字符串并将其反映在对象中?

php

0
推荐指数
1
解决办法
53
查看次数

mathematica等程序如何绘制图表以及如何制作这样的程序?

我一直想知道像mathematica和mathlab等程序如何优雅而快速地绘制函数图.任何人都可以向我解释他们是如何做到这一点的,而且,我怎么做到这一点?它与计算机编程或数学的方面或课程有关吗?然后呢?

math graphics matlab wolfram-mathematica discrete-mathematics

8
推荐指数
1
解决办法
1296
查看次数

动画UIImage或UIImageView?

我正在尝试为图像的高度(从0像素到480像素的高度)设置动画,以创建从上到下渲染图像的效果.

使用UIImageView,我注意到它在Interface Builder中显示正确.但是当它在模拟器中运行时,大小(宽度和高度)总是设置为图像的大小; 意思是,如果我将图像视图的高度设置为原始高度的50%,则图像仍然以全高度渲染.

我也试过用UIImage做这个效果.但是,尽管图像的大小看起来正确,但缩放图像以反映大小/宽高比.

问题:如何在不缩放图像的同时实现这种动态尺寸调整(即图像尺寸的动画)?我想过使用CGImageCreateWithMask,但我很确定会产生巨大的性能打嗝.

*更新*

我正在寻找的效果是这样:通过使图像从高到高(从一个窗口拉出一组百叶窗)的高度增长来为图像设置动画.此图像无法缩放(因为它会失去看起来像"盲目"的视觉效果).此图像还必须呈现在另一个图像的顶部.所以总共有2张图片.

*答案*

对于最顶层的imageview,我将内容模式设置为Top(因此它不会缩放).然后在代码中,我将clipsToBounds设置为True.现在我能够为最顶层的imageview高度设置动画,从而为我提供我想要的效果.

iphone uiimageview ios

7
推荐指数
2
解决办法
1万
查看次数

sizeof运算符的问题

由于我想在函数中动态找到数组大小,我使用了sizeof运算符.但我有一些意想不到的结果.这是一个演示程序,向您展示,我想做什么.

//------------------------------------------------------------------------------------------
#include <iostream>

void getSize(int *S1){

    int S_size = sizeof S1/sizeof(int);
    std::cout<<"array size(in function):"<<S_size<<std::endl;
}

int main(){

    int S[]={1,2,3,2,5,6,25,1,6,21,121,36,1,31,1,31,1,661,6};
    getSize(S);
    std::cout<<"array size:"<<sizeof S/sizeof(int)<<std::endl;
    return 0;
}
//------------------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

编译命令:g ++ demo1.cc -o demo1 {fedora 12}

输出:

array size(in function):2
array size:19
Run Code Online (Sandbox Code Playgroud)

请解释一下,为什么会这样.可以做些什么来解决这个问题.

c++ arrays sizeof

4
推荐指数
1
解决办法
3947
查看次数

Interlocked.Increment()没有按照我在任务并行库中所期望的方式工作

我有一个Parallel.ForEach()循环,它接受一个URL列表并下载每个URL以进行一些额外的处理.在我的循环之外,我已经声明了一个循环计数器变量,并且在循环体内我使用Interlocked.Increment()认为这将是保持"线程安全"方式的最佳方法,即在执行每个循环交互时增加计数.

int counter = 0;

Parallel.ForEach(urlList, (url, state) =>
{
    // various code statments

    Interlocked.Increment( ref counter );

    Debug.WriteLine(" ......... counter: " + counter);
});
Run Code Online (Sandbox Code Playgroud)

我原以为我会看到类似的东西:

 ......... 1
 ......... 2
 ......... 3
 ......... 4
 ......... 5
 ......... 
 ......... 
 ......... n
Run Code Online (Sandbox Code Playgroud)

但我得到的是16"......... 0"(这是因为我有一个双核四核计算机,有8个本机核心,但是启用了超线程,总共有16个核心).然后我将开始看到计数器在大多数情况下正常递增,但有时我会在Debug输出中看到重复或甚至三重计数器值.

使用Parallel.ForEach()计算循环迭代的最佳方法是什么?谢谢你的建议.

.net c# parallel-processing

6
推荐指数
2
解决办法
4342
查看次数

第一个计算机程序是如何创建的?

可能重复:
第一个编译器是如何编写的?

这个问题一直困扰着我.要编译一个程序,你需要一个编译器,它也是一种程序,那么编译编译器的是什么?有人告诉我,第一批编译器是用汇编或机器代码编写的.但考虑到这一点,那仍然不是完整的故事.毕竟,如果没有操作系统和驱动程序,机器代码如何从硬盘驱动器转移到CPU?司机必须以某种方式编程.

我知道早期的计算机有开关,允许你翻转开关指示位.我想知道如何从开关跳转到一种让CPU读取机器代码而不需要计算机程序告诉它这样做的方法.

cpu

9
推荐指数
2
解决办法
4万
查看次数

如何获取beanstalk管中所有作业的列表?

我在我的服务器上安装了beanstalk,并运行以下命令:

$ telnet localhost 11300
use my_tube
USING my_tube
peek-ready
FOUND 11065 41
{"ts":1295537419,"data":{"nid":"212156"}}
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:如何获得队列中所有作业的列表; 类似的东西peek-all

beanstalkd

23
推荐指数
1
解决办法
2万
查看次数

如何使用javascript创建链接?

我有一个标题字符串和一个链接字符串.我不知道如何将两者结合在一起使用Javascript在页面上创建链接.任何帮助表示赞赏.

编辑1:为问题添加更多细节.我试图解决这个问题的原因是因为我有一个RSS提要并且有一个标题和URL列表.我想将标题链接到URL以使页面有用.

编辑2:我正在使用jQuery,但它是全新的,并不知道它可以帮助在这种情况下.

html javascript jquery dom hyperlink

117
推荐指数
6
解决办法
35万
查看次数

解释这个片段,它在不使用if-else或任何其他比较运算符的情况下找到最多两个整数?

找到最多两个数字.您不应该使用if-else或任何其他比较运算符.我在网上公告板上发现了这个问题,所以我想我应该在StackOverflow中询问

示例输入:5,10输出:10

我找到了这个解决方案,有人可以帮我理解这些代码行

int getMax(int a, int b) {  
    int c = a - b;  
    int k = (c >> 31) & 0x1;  
    int max = a - k * c;  
    return max;  
}
Run Code Online (Sandbox Code Playgroud)

c algorithm math bit-manipulation max

75
推荐指数
6
解决办法
7万
查看次数